您遇到的主要问题是…
- 将Netbeans项目作为库添加到现有Netbeans项目中仅适用于“ Netbeans Project”(蚂蚁)项目类型。
- 您需要从Maven项目中添加生成的Jar,并将其所有依赖项添加到“ Netbeans”项目中。因为“ Netbeans(Ant)项目”无法解决依赖关系,所以您必须手动解决这些依赖关系并将每个Jar文件添加为库条目。
- 您的Maven项目仅为您的项目生成Jar,不包含项目依赖项中的类/ jar。
您至少有两个基本选择…
你可以…
指示Maven在构建过程中包括所有依赖项。有(至少)两种方法可以实现此目的。您可以将所有类包含在单个Jar中,或者让Maven将所有依赖项复制到指定位置并更新
class-path清单条目。
我个人更喜欢第二种选择,但这是个人的事情。作为我的Maven构建过程的一部分,我包括以下内容…
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-dependency-plugin</artifactId> <version>2.1</version> <executions> <execution> <id>copy-dependencies</id> <phase>package</phase> <goals> <goal>copy-dependencies</goal> </goals> <configuration> <outputDirectory>${project.build.directory}/lib</outputDirectory> <overWriteReleases>false</overWriteReleases> <overWriteSnapshots>false</overWriteSnapshots> <overWriteIfNewer>true</overWriteIfNewer> </configuration> </execution> </executions> </plugin> <plugin> <artifactId>maven-jar-plugin</artifactId> <version>2.4</version> <configuration> <archive> <manifest> <addClasspath>true</addClasspath> <classpathPrefix>lib/</classpathPrefix> <!--mainClass>com.acme.MainClass</mainClass--> </manifest> </archive> </configuration> </plugin>基本上,第一个插件将所有依赖项Jars复制到的
lib目录中
${project.build.directory}。这是个人的事情,但是我不喜欢将Jar的内容合并到单个“主”Jar中,因为我倾向于拥有与我在项目中用作查找的名称相同的资源…
第二个插件包括
class-path清单文件中的元素,以确保在运行时将依赖的jar包含在类加载器查找路径中。
如果要创建“单个”Jar,请看一下使用Maven在Jar中包含依赖项
你可以…
使您的第二个项目成为Maven项目,并包括您的第一个项目作为对它的依赖。然后,Maven将自动为您解决所有依赖项。这就是重点…



