Pan*_*oup 5 java eclipse maven m2e
我在src/libs下面有一个jar.这是必要的,因为当我在目标服务器上运行我的应用程序时,它将无法下载外部依赖项.从命令行构建时,我收到以下错误:NoClassDefFoundError.我的pom依赖:
<dependency>
<groupId>jFuzzyLogic_core</groupId>
<artifactId>jFuzzyLogic_core</artifactId>
<scope>system</scope>
<version>2.0.7</version>
<systemPath>${basedir}\src\libs\jFuzzyLogic_core.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
我读过有关这是否正确的相互矛盾的帖子,我无法弄清楚该怎么做.
请求的命令行:
Exception in thread "main" java.lang.NoClassDefFoundError: net/sourceforge/jFuzz
yLogic/FIS
at noobbot.Main.<init>(Main.java:41)
at noobbot.Main.main(Main.java:30)
Caused by: java.lang.ClassNotFoundException: net.sourceforge.jFuzzyLogic.FIS
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 2 more
Run Code Online (Sandbox Code Playgroud)
也相关,
[WARNING] 'dependencies.dependency.systemPath' for jFuzzyLogic_core:jFuzzyLogic_
core:jar should not point at files within the project directory, ${basedir}\src\
libs\jFuzzyLogic_core.jar will be unresolvable by dependent projects @ line 24,
column 22
Run Code Online (Sandbox Code Playgroud)
任何人都可以建议如何做到这一点,如果这实际上不是正确的方法?
尝试将lib目录指定为以下内容中的存储库pom.xml:
<repository>
<id>project_lib</id>
<name>Repository in project's lib dir</name>
<layout>default</layout>
<url>file:///${project.basedir}/lib</url>
</repository>
Run Code Online (Sandbox Code Playgroud)
然后依赖我不认为你需要<systemPath>为那个Jar 添加.
在这种情况下,我通常将 JAR 文件导入到本地存储库中。您可以使用此命令:
mvn install:install-file -Dfile=name-of-your-jar.jar -DgroupId=your-group-id -DartifactId=your-artifact-id -Dversion=your-version -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
因此,如果我们获取您输入的代码片段,命令将是:
mvn install:install-file -Dfile=commons-validator-1.4.0.jar -DgroupId=jFuzzyLogic_core -DartifactId=jFuzzyLogic_core -Dversion=2.0.7 -Dpackaging=jar
Run Code Online (Sandbox Code Playgroud)
完成后,您可以设置依赖项,而无需任何系统路径。
| 归档时间: |
|
| 查看次数: |
9833 次 |
| 最近记录: |