我是maven环境的新手,需要一些帮助.在lib文件夹中添加了我的外部jar文件(directoryhelper.jar),如下所示在pom.xml中
<dependency>
<groupId>com.test.directoryhelper</groupId>
<artifactId>DirectoryHelper</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/lib/directoryhelper.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)
编译成功,但在运行时我得到java.lang.NoClassDefFoundError.
如何将directoryhelper.jar添加到类路径.
开箱即用的 Maven 会提供一个 JAR 文件(默认打包)。此 JAR 文件仅包含main项目的( ) 个工件。如果您只使用它并运行它,显然缺少依赖项 - 设计使然。
通常,Maven 工件与它们的 POM 结合重用,以便在使用时知道依赖项是什么。编辑:如果您使用 APK 并将它们安装在手机上,则可能有处理依赖项的机制,我仅从 Maven 的角度回答这个问题。
如果要创建具有依赖项的 JAR ,则必须告诉 Maven 这样做,这不是默认设置。让 Maven 这样做的方法是(可能不是详尽无遗的):
Maven Assembly插件,jar-with-dependencies预定义描述符:
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
...
Run Code Online (Sandbox Code Playgroud)