java - 将项目的所有库和文件放在一个文件夹中

标签 java maven

我在 java 构建过程中使用 Maven。以下是创建具有所有依赖项的单个 jar 的代码片段。为了减少对构建的小更改的数据传输,我想将所有项目文件(包括依赖项)放在文件夹 target/build 中。我计划将文件夹与运行应用程序的远程计算机同步,并使用以下命令运行应用程序:

java -cp target/build/* <classname>

如何修改此代码片段以实现此目的?我已阅读此处的文档,但不知道如何将修复程序拼凑在一起:

最佳答案

您是否想在构建时让 Maven 将依赖项复制到目标文件夹?

我认为您需要 Maven 依赖插件。它将项目的依赖项复制到您指定的输出文件夹。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <id>install</id>
                    <phase>install</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${targetDirectory}</outputDirectory>
                    </configuration>
                </execution>
            </executions>
        </plugin>

听起来您可能还需要 maven jar 插件来告诉它将 jar 打包到哪里。

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <version>2.3.1</version>
            <configuration>
                <outputDirectory>${dir}</outputDirectory>
            </configuration>
        </plugin>

关于java - 将项目的所有库和文件放在一个文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12449237/

相关文章:

java - 为什么 m2e 插件会构建到 Maven jar 项目的目标文件夹中的 WEB-INF/classes 中?

xml - 在互联网离线模式下找不到元素 'beans' 的声明

java - 英特尔lij : How to set project configuration to java 1. 8

java - 如何不覆盖文件(使用附加模式)

java - Solr:结合 EdgeNGramFilterFactory 和 NGramFilterFactory

java - 又一个 'could not find or load main class' 错误

python - 使用 python 创建循环来查找 pom.xml 文件中的依赖项

maven - 以交互模式生成项目花费大量时间

java - 在java中查找括号字符串的有效性

java - hibernate SessionFactory 不起作用