Java:Maven和Library编译

时间:2016-11-05 19:14:39

标签: java maven intellij-idea compilation

我正在尝试编译一个具有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社区版。

1 个答案:

答案 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