我正在尝试编译一个具有Maven依赖项和普通依赖项的项目(您将.jar添加到buildpath / lib中的项目)。但是,我只能选择一个;(或者,我使用Maven进行编译,或者使用工件进行编译,这样就不会使项目有效。
我用
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>me.expdev.testproject.Main</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
和
mvn clean compile assembly:single
编译。但我也有5个罐子(不能作为Maven)我需要包含在包装罐输出中!当我在IDE中运行Main时,它工作正常。
我使用IntelliJ社区版。
答案 0 :(得分:0)
您可以将第三方罐子打包为Maven工件。
mvn install:install-file -Dfile=<path-to-file> -DgroupId=<group-id> \
-DartifactId=<artifact-id> -Dversion=<version> -Dpackaging=jar
<group-id>
,<artifact-id>
和<version>
字段完全取决于您填写,选择适合您的值。通过这些值,Maven可以使用该工件。有关示例,请参阅项目中已有的其他Maven工件。对于组ID,选择一些前缀以明确它不是公开发布的jar,以避免混淆。例如custom.
,例如custom.some.package
,但它真的取决于你。
有关详细信息,请参阅:Guide to installing 3rd party JARs
另请注意,其他想要使用该项目的开发人员也必须这样做,并在其本地Maven存储库中手动安装jar。另一个选择是运行自己的Maven存储库。查看此文章:http://stuartsierra.com/2009/09/08/run-your-own-maven-repository