java - ¿Qué tipo de brujería está haciendo Maven para ejecutar este proyecto, cuando no puedo?
netbeans dll (2)
Tengo un proyecto de Maven con algunas dependencias de biblioteca (.dll) (que puse en una carpeta "lib"). Puedo ejecutar el proyecto sin problemas en Netbeans, pero cuando intento ejecutar el .jar construido fuera de Netbeans, aparece el siguiente error al cargar la biblioteca:
Can''t load this .dll (machine code=0xbd) on a AMD 64-bit platform
Solo tengo una instancia de Java instalada en mi computadora, debería ser la misma JVM que Netbeans / Maven usa para ejecutar el proyecto. ¿Entonces no entiendo cómo Netbeans / Maven puede ejecutar esta aplicación en una plataforma diferente a la mía? He intentado ver el comando que ejecuta Netbeans (desde la salida) para ejecutar el proyecto y creo que es esto:
cd C:/Users/Birger/Workspace/myproject; "JAVA_HOME=C://Program Files//Java//jdk1.8.0_91" cmd /c "/"/"C://Program Files//NetBeans 8.1//java//maven//bin//mvn.bat/" -Dexec.args=/"-Djava.library.path=lib// -classpath %classpath com.mysite.myproject.Main/" -Dexec.executable=/"C://Program Files//Java//jdk1.8.0_91//bin//java.exe/" -Dmaven.ext.class.path=/"C://Program Files//NetBeans 8.1//java//maven-nblib//netbeans-eventspy.jar/" -Dfile.encoding=UTF-8 org.codehaus.mojo:exec-maven-plugin:1.2.1:exec/""
Probé estos dos comandos.
"C:/Program Files/Java/jdk1.8.0_91/jre/bin/java.exe" -Djava.library.path=lib/ -jar myproject-1.0-SNAPSHOT.jar
"C:/Program Files/Java/jdk1.8.0_91/bin/java.exe" -Djava.library.path=lib/ -jar myproject-1.0-SNAPSHOT.jar
System.out.println(System.getProperty("sun.arch.data.model"));
para obtener mi aplicación para imprimir la arquitectura de la CPU. Imprime 64
en ambas ocasiones.
Intenté buscar en el archivo "mvn.bat" en C:/Program Files/NetBeans 8.1/java/maven/bin/mvn.bat
pero no pude encontrar ninguna pista sobre lo que está haciendo Maven para ejecutar mi aplicación.
¿Puede alguien ayudarme en esto?
Birger
EDITAR
Aquí está el código fuente completo de mi proyecto de prueba. El pom.xml
mi proyecto
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mysite</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>repo</id>
<url>file://${project.basedir}/temp-repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>jni4net</groupId>
<artifactId>jni4net.j</artifactId>
<version>0.8.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.mysite.myproject.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<resources>
<resource>
<directory>lib</directory>
<filtering>true</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
La clase de mi proyecto
package com.mysite.myproject;
import java.io.File;
import java.io.IOException;
import net.sf.jni4net.Bridge;
public class Main {
static {
String libDir = System.getProperty("java.library.path");
System.loadLibrary("jni4net.n-0.8.8.0");
if (System.getProperty("sun.arch.data.model").equals("64")) {
System.loadLibrary("jni4net.n.w64.v20-0.8.8.0");
System.loadLibrary("jni4net.n.w64.v40-0.8.8.0");
} else {
System.loadLibrary("jni4net.n.w32.v20-0.8.8.0");
System.loadLibrary("jni4net.n.w32.v40-0.8.8.0");
}
try {
Bridge.init(new File(libDir));
System.out.println("Initialized!");
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new Main();
}
public Main() {
System.out.println("Hello world!");
}
}
Salida de Netbeans al ejecutar el proyecto (agregada opción --debug
para salida detallada):
cd C:/Users/Birger/Workspace/myproject; "JAVA_HOME=C://Program Files//Java//jdk1.8.0_91" cmd /c "/"/"C://Program Files//NetBeans 8.1//java//maven//bin//mvn.bat/" -Dexec.args=/"-Djava.library.path=lib// -classpath %classpath com.mysite.myproject.Main/" -Dexec.executable=/"C://Program Files//Java//jdk1.8.0_91//bin//java.exe/" -Dmaven.ext.class.path=/"C://Program Files//NetBeans 8.1//java//maven-nblib//netbeans-eventspy.jar/" -Dfile.encoding=UTF-8 --debug org.codehaus.mojo:exec-maven-plugin:1.2.1:exec/""
Running NetBeans Compile On Save execution. Phase execution is skipped and output directories of dependency projects (with Compile on Save turned on) will be used instead of their jar artifacts.
C:/Program Files/Java/jdk1.8.0_91
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 14:51:28+0100)
Maven home: C:/Program Files/NetBeans 8.1/java/maven
Java version: 1.8.0_91, vendor: Oracle Corporation
Java home: C:/Program Files/Java/jdk1.8.0_91/jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "dos"
Populating class realm maven.ext
Included C:/Program Files/NetBeans 8.1/java/maven-nblib/netbeans-eventspy.jar
Error stacktraces are turned on.
Reading global settings from C:/Program Files/NetBeans 8.1/java/maven/conf/settings.xml
Reading user settings from C:/Users/Birger/.m2/settings.xml
Using local repository at C:/Users/Birger/.m2/repository
Using manager EnhancedLocalRepositoryManager with priority 10 for C:/Users/Birger/.m2/repository
Scanning for projects...
Extension realms for project com.mysite:myproject:jar:1.0-SNAPSHOT: (none)
Looking up lifecyle mappings for packaging jar from ClassRealm[maven.ext, parent: ClassRealm[plexus.core, parent: null]]
=== REACTOR BUILD PLAN ================================================
Project: com.mysite:myproject:jar:1.0-SNAPSHOT
Tasks: [org.codehaus.mojo:exec-maven-plugin:1.2.1:exec]
Style: Regular
=======================================================================
------------------------------------------------------------------------
Building myproject 1.0-SNAPSHOT
------------------------------------------------------------------------
Lifecycle default -> [validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, process-classes, generate-test-sources, process-test-sources, generate-test-resources, process-test-resources, test-compile, process-test-classes, test, prepare-package, package, pre-integration-test, integration-test, post-integration-test, verify, install, deploy]
Lifecycle clean -> [pre-clean, clean, post-clean]
Lifecycle site -> [pre-site, site, post-site, site-deploy]
=== PROJECT BUILD PLAN ================================================
Project: com.mysite:myproject:1.0-SNAPSHOT
Dependencies (collect): []
Dependencies (resolve): [test]
Repositories (dependencies): [libs-release (http://artifactory.osc.no:8081/artifactory/libs-release/, releases), repo (file://C:/Users/Birger/Workspace/myproject/temp-repo, releases+snapshots), central (http://repo.maven.apache.org/maven2, releases)]
Repositories (plugins) : [libs-release (http://artifactory.osc.no:8081/artifactory/libs-release/, releases), central (http://repo.maven.apache.org/maven2, releases)]
-----------------------------------------------------------------------
Goal: org.codehaus.mojo:exec-maven-plugin:1.2.1:exec (default-cli)
Style: Regular
Configuration: <?xml version="1.0" encoding="UTF-8"?>
<configuration>
<basedir default-value="${basedir}"/>
<classpathScope default-value="runtime">${exec.classpathScope}</classpathScope>
<commandlineArgs>${exec.args}</commandlineArgs>
<executable>${exec.executable}</executable>
<longClasspath default-value="false">${exec.longClasspath}</longClasspath>
<outputFile>${exec.outputFile}</outputFile>
<project default-value="${project}"/>
<session default-value="${session}"/>
<skip default-value="false">${skip}</skip>
<sourceRoot>${sourceRoot}</sourceRoot>
<testSourceRoot>${testSourceRoot}</testSourceRoot>
<workingDirectory>${exec.workingdir}</workingDirectory>
</configuration>
=======================================================================
com.mysite:myproject:jar:1.0-SNAPSHOT
jni4net:jni4net.j:jar:0.8.8.0:compile
--- exec-maven-plugin:1.2.1:exec (default-cli) @ myproject ---
Created new class realm maven.api
Importing foreign packages into class realm maven.api
Imported: org.apache.maven.cli < maven.ext
Imported: org.codehaus.plexus.lifecycle < maven.ext
Imported: org.apache.maven.lifecycle < maven.ext
Imported: org.apache.maven.repository < maven.ext
Imported: org.codehaus.plexus.personality < maven.ext
Imported: org.apache.maven.usability < maven.ext
Imported: org.codehaus.plexus.configuration < maven.ext
Imported: org.sonatype.aether.version < maven.ext
Imported: org.sonatype.aether.* < maven.ext
Imported: org.sonatype.aether.artifact < maven.ext
Imported: org.apache.maven.* < maven.ext
Imported: org.apache.maven.project < maven.ext
Imported: org.sonatype.aether.repository < maven.ext
Imported: org.sonatype.aether.impl < maven.ext
Imported: org.apache.maven.exception < maven.ext
Imported: org.apache.maven.plugin < maven.ext
Imported: org.sonatype.aether.collection < maven.ext
Imported: org.codehaus.plexus.* < maven.ext
Imported: org.codehaus.plexus.logging < maven.ext
Imported: org.apache.maven.profiles < maven.ext
Imported: org.sonatype.aether.metadata < maven.ext
Imported: org.sonatype.aether.spi < maven.ext
Imported: org.codehaus.plexus.util.xml.pull.XmlPullParserException < maven.ext
Imported: org.apache.maven.wagon.* < maven.ext
Imported: org.sonatype.aether.graph < maven.ext
Imported: org.apache.maven.rtinfo < maven.ext
Imported: org.sonatype.aether.installation < maven.ext
Imported: org.apache.maven.monitor < maven.ext
Imported: org.sonatype.aether.transfer < maven.ext
Imported: org.codehaus.plexus.context < maven.ext
Imported: org.apache.maven.wagon.observers < maven.ext
Imported: org.apache.maven.wagon.resource < maven.ext
Imported: org.sonatype.aether.deployment < maven.ext
Imported: org.apache.maven.model < maven.ext
Imported: org.codehaus.plexus.util.xml.Xpp3Dom < maven.ext
Imported: org.apache.maven.artifact < maven.ext
Imported: org.apache.maven.toolchain < maven.ext
Imported: org.codehaus.plexus.util.xml.pull.XmlSerializer < maven.ext
Imported: org.apache.maven.settings < maven.ext
Imported: org.apache.maven.wagon.authorization < maven.ext
Imported: org.apache.maven.wagon.events < maven.ext
Imported: org.apache.maven.wagon.authentication < maven.ext
Imported: org.apache.maven.reporting < maven.ext
Imported: org.apache.maven.wagon.repository < maven.ext
Imported: org.apache.maven.configuration < maven.ext
Imported: org.codehaus.plexus.classworlds < maven.ext
Imported: org.codehaus.classworlds < maven.ext
Imported: org.codehaus.plexus.util.xml.pull.XmlPullParser < maven.ext
Imported: org.apache.maven.classrealm < maven.ext
Imported: org.sonatype.aether.resolution < maven.ext
Imported: org.apache.maven.execution < maven.ext
Imported: org.apache.maven.wagon.proxy < maven.ext
Imported: org.codehaus.plexus.container < maven.ext
Imported: org.codehaus.plexus.component < maven.ext
Populating class realm maven.api
org.codehaus.mojo:exec-maven-plugin:jar:1.2.1:
org.apache.maven:maven-toolchain:jar:1.0:compile
org.apache.maven:maven-project:jar:2.0.6:compile
org.apache.maven:maven-settings:jar:2.0.6:compile
org.apache.maven:maven-profile:jar:2.0.6:compile
org.apache.maven:maven-plugin-registry:jar:2.0.6:compile
org.apache.maven:maven-model:jar:2.0.6:compile
org.apache.maven:maven-artifact:jar:2.0.6:compile
org.apache.maven:maven-artifact-manager:jar:2.0.6:compile
org.apache.maven:maven-repository-metadata:jar:2.0.6:compile
org.apache.maven:maven-core:jar:2.0.6:compile
org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.6:compile
org.apache.maven.reporting:maven-reporting-api:jar:2.0.6:compile
org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7:compile
org.apache.maven:maven-error-diagnostics:jar:2.0.6:compile
commons-cli:commons-cli:jar:1.0:compile
org.apache.maven:maven-plugin-descriptor:jar:2.0.6:compile
org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4:compile
org.apache.maven:maven-monitor:jar:2.0.6:compile
classworlds:classworlds:jar:1.1:compile
org.apache.maven:maven-plugin-api:jar:2.0.6:compile
org.codehaus.plexus:plexus-utils:jar:2.0.5:compile
org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9:compile
junit:junit:jar:3.8.2:test (scope managed from compile) (version managed from 3.8.1)
org.apache.commons:commons-exec:jar:1.1:compile
Created new class realm plugin>org.codehaus.mojo:exec-maven-plugin:1.2.1
Importing foreign packages into class realm plugin>org.codehaus.mojo:exec-maven-plugin:1.2.1
Imported: < maven.api
Populating class realm plugin>org.codehaus.mojo:exec-maven-plugin:1.2.1
Included: org.codehaus.mojo:exec-maven-plugin:jar:1.2.1
Included: org.apache.maven.reporting:maven-reporting-api:jar:2.0.6
Included: org.apache.maven.doxia:doxia-sink-api:jar:1.0-alpha-7
Included: commons-cli:commons-cli:jar:1.0
Included: org.codehaus.plexus:plexus-interactivity-api:jar:1.0-alpha-4
Included: org.codehaus.plexus:plexus-utils:jar:2.0.5
Included: org.apache.commons:commons-exec:jar:1.1
Excluded: org.apache.maven:maven-toolchain:jar:1.0
Excluded: org.apache.maven:maven-project:jar:2.0.6
Excluded: org.apache.maven:maven-settings:jar:2.0.6
Excluded: org.apache.maven:maven-profile:jar:2.0.6
Excluded: org.apache.maven:maven-plugin-registry:jar:2.0.6
Excluded: org.apache.maven:maven-model:jar:2.0.6
Excluded: org.apache.maven:maven-artifact:jar:2.0.6
Excluded: org.apache.maven:maven-artifact-manager:jar:2.0.6
Excluded: org.apache.maven:maven-repository-metadata:jar:2.0.6
Excluded: org.apache.maven:maven-core:jar:2.0.6
Excluded: org.apache.maven:maven-plugin-parameter-documenter:jar:2.0.6
Excluded: org.apache.maven:maven-error-diagnostics:jar:2.0.6
Excluded: org.apache.maven:maven-plugin-descriptor:jar:2.0.6
Excluded: org.apache.maven:maven-monitor:jar:2.0.6
Excluded: classworlds:classworlds:jar:1.1
Excluded: org.apache.maven:maven-plugin-api:jar:2.0.6
Excluded: org.codehaus.plexus:plexus-container-default:jar:1.0-alpha-9
Excluded: junit:junit:jar:3.8.2
Configuring mojo org.codehaus.mojo:exec-maven-plugin:1.2.1:exec from plugin realm ClassRealm[plugin>org.codehaus.mojo:exec-maven-plugin:1.2.1, parent: sun.misc.Launcher$AppClassLoader@5c647e05]
Configuring mojo ''org.codehaus.mojo:exec-maven-plugin:1.2.1:exec'' with basic configurator -->
(f) basedir = C:/Users/Birger/Workspace/myproject
(f) classpathScope = runtime
(f) commandlineArgs = -Djava.library.path=lib/ -classpath %classpath com.mysite.myproject.Main
(f) executable = C:/Program Files/Java/jdk1.8.0_91/bin/java.exe
(f) longClasspath = false
(f) project = MavenProject: com.mysite:myproject:1.0-SNAPSHOT @ C:/Users/Birger/Workspace/myproject/pom.xml
(f) session = org.apache.maven.execution.MavenSession@2ef14fe
(f) skip = false
-- end configuration --
Collected project artifacts [jni4net:jni4net.j:jar:0.8.8.0:compile]
Collected project classpath [C:/Users/Birger/Workspace/myproject/target/classes]
dealing with jni4net:jni4net.j:jar:0.8.8.0:compile
Toolchains are ignored, ''executable'' parameter is set to C:/Program Files/Java/jdk1.8.0_91/bin/java.exe
Executing command line: C:/Program Files/Java/jdk1.8.0_91/bin/java.exe -Djava.library.path=lib/ -classpath C:/Users/Birger/Workspace/myproject/target/classes;C:/Users/Birger/.m2/repository/jni4net/jni4net.j/0.8.8.0/jni4net.j-0.8.8.0.jar com.mysite.myproject.Main
Initialized!
Hello world!
------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 1.360s
Finished at: Fri Jul 08 09:26:48 CEST 2016
Final Memory: 5M/245M
------------------------------------------------------------------------
Salida de línea de comandos al intentar ejecutar mi .jar construido
C:/Users/Birger/Workspace/myproject/target>"C:/Program Files/Java/jdk1.8.0_91/bin/java.exe" -Djava.library.path=lib/ -jar myproject-1.0-SNAPSHOT.jar
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:/Users/Birger/Workspace/myproject/target/lib/jni4net.n-0.8.8.0.dll: Can''t load this .dll (machine code=0xbd) on a AMD 64-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.mysite.myproject.Main.<clinit>(Main.java:11)
EDIT2:
Para cualquier persona que quiera reproducir este error, jni4net se puede encontrar here . Instalé el .jar con este archivo por lotes de Windows:
set project_dir=YOURPROJECTDIRECTORYHERE
set proxygen_dir=YOURPROXYGENINSTALLATIONDIRECTORYHERE
set temp_repo_dir=%project_dir%/temp-repo
call mvn install:install-file -DlocalRepositoryPath=%temp_repo_dir% -DcreateChecksum=true -Dpackaging=jar -Dfile=%proxygen_dir%/lib/jni4net.j-0.8.8.0.jar -DgroupId=jni4net -DartifactId=jni4net.j -Dversion=0.8.8.0
EDIT3:
Instalé JVM de 32 bits e intenté ejecutar la aplicación con el siguiente comando:
"C:/Program Files (x86)/Java/jre1.8.0_91/bin/java.exe" -Djava.library.path=lib/ -jar myproject-1.0-SNAPSHOT.jar
Ahora me sale:
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:/Users/Birger/Workspace/myproject/target/lib/jni4net.n.w32.v20-0.8.8.0.dll: Can''t load this .dll (machine code=0xbd) on a IA 32-bit platform
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(Unknown Source)
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at com.mysite.myproject.Main.<clinit>(Main.java:19)
Me estoy poniendo bastante desesperado aquí (y un poco frustrado con Java, tbh)
EDIT4:
Intenté estos comandos, también no funciona:
"C:/Program Files/Java/jdk1.8.0_91/bin/java" -Djava.library.path=lib/ -classpath C:/Users/Birger/Workspace/myproject/target/classes;C:/Users/Birger/.m2/repository/jni4net/jni4net.j/0.8.8.0/jni4net.j-0.8.8.0.jar com.mysite.myproject.Main
"C:/Program Files/Java/jdk1.8.0_91/bin/java" -Djava.library.path=lib/ -classpath classes;C:/Users/Birger/.m2/repository/jni4net/jni4net.j/0.8.8.0/jni4net.j-0.8.8.0.jar com.mysite.myproject.Main
"C:/Program Files/Java/jdk1.8.0_91/bin/java" -Djava.library.path=lib/ -classpath classes com.mysite.myproject.Main
Aparentemente, los archivos .dll copiados durante la compilación no pueden ser utilizados por mi aplicación. Para que funcione, tengo que cargar los archivos de la biblioteca original (no los copiados). Netbeans estaba haciendo exactamente esto, por lo que mi aplicación funcionaba bien desde Netbeans pero no cuando intentaba usar los archivos compilados (y copiados).
FIX : En mi pom.xml
, el filtrado de recursos se establece en true
. Lo puse en false
(o elimino la entrada) y ahora mi aplicación se puede iniciar desde fuera de netbeans. Aquí está mi nuevo pom.xml
:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.mysite</groupId>
<artifactId>myproject</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
</properties>
<repositories>
<repository>
<id>repo</id>
<url>file://${project.basedir}/temp-repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>jni4net</groupId>
<artifactId>jni4net.j</artifactId>
<version>0.8.8.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.10</version>
<executions>
<execution>
<id>copy</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>
${project.build.directory}/lib
</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<classpathPrefix>lib/</classpathPrefix>
<mainClass>com.mysite.myproject.Main</mainClass>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.0.1</version>
<executions>
<execution>
<id>copy-resources</id>
<phase>validate</phase>
<goals>
<goal>copy-resources</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/lib</outputDirectory>
<resources>
<resource>
<directory>lib</directory>
<filtering>false</filtering>
</resource>
</resources>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
He enfrentado este problema hace mucho tiempo.
simplemente elimine <filtering>true</filtering>
, esto dañará los archivos al copiar. (Insecto !!???).
Pude reproducir tu problema. esto resolverá tu problema también
espero que esto ayude.