Java 如何解决与maven的冲突
我有pom文件: 我使用命令编译:Java 如何解决与maven的冲突,java,maven,jar,Java,Maven,Jar,我有pom文件: 我使用命令编译:clean compile assembly:single 但我得到警告: [警告]“dependencies.dependency.systemPath”用于 backtesting:client:jar不应指向 项目目录, ${project.basedir}/lib/client-0.1-jar-with-dependencies.jar将被删除 第18行第25列的从属项目无法解决 jar文件中不存在此库: 当我运行jar文件时,我得到: java -j
clean compile assembly:single
但我得到警告:
[警告]“dependencies.dependency.systemPath”用于
backtesting:client:jar不应指向
项目目录,
${project.basedir}/lib/client-0.1-jar-with-dependencies.jar将被删除
第18行第25列的从属项目无法解决
jar文件中不存在此库:
当我运行jar文件时,我得到:
java -jar backtestingCandlesDownloader-0.1-jar-with-dependencies.jar 1440672480000 1441025280000 60000
task: startDate = 1440672480000, endDate = 1441025280000, period = 60000
Exception in thread "main" java.lang.NoClassDefFoundError: com/xxx/backtesting/client/model/Server
at com.xxx.backtestingCandlesDownloader.Main.main(Main.java:33)
Caused by: java.lang.ClassNotFoundException: com.xxx.backtesting.client.model.Server
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 1 more
我不知道如何在jar文件中包含client-0.1-jar-with-dependencies.jar 您的警告是指POM的第16行和第18行:
<scope>system</scope>
...
<systemPath>${project.basedir}/lib/client-0.1-jar-with-dependencies.jar</systemPath>
一旦安装,您只需将其作为依赖项引用,就像其他Maven依赖项一样:
<dependencies>
...
<dependency>
<groupId>com.xxx.backtesting</groupId>
<artifactId>client</artifactId>
<version>0.1</version>
</dependency>
...
</depencencies>
首先确保项目目录中有lib/client-0.1-jar-with-dependencies.jar,然后将${project.basedir}替换为${pom.basedir}
<dependencies>
...
<dependency>
<groupId>com.xxx.backtesting</groupId>
<artifactId>client</artifactId>
<version>0.1</version>
</dependency>
...
</depencencies>
mvn install:install-file -Dfile=/path/to/lib/client-0.1-jar-with-dependencies.jar -DgroupId=com.xxx.backtesting -DartifactId=client -Dversion=1.0 -Dpackaging=jar