如何使用Maven设置构建脚本?

时间:2019-05-10 20:15:07

标签: java eclipse maven pom.xml

我如何告诉Maven,要运行的方法/类以及如何告诉它,应将其导入什么类以及在何处?

我必须使用Eclipse Maven插件,但我不太了解如何输入命令。我要更改pom文件还是有任何按钮使用它,还是使用命令行?

我试图找到有关它的信息,但是由于必须使用Eclipse Maven工具,所以我似乎找不到我想要的东西。

我的文件结构

|
|- src
|   |
|    - serie04 
|        |
|         - callee
|             |
|              - Callee.java
|         - caller
|             |
|              - Caller.java
|- classes
|- jars

我的两个Java类:

package serie04.callee;

public class Callee {
    public void callMe() {
        System.out.println("Callee says: You called me!");
   }
}
package serie04.caller;

import serie04.callee.Callee;

public class Caller {
    public static void main(String[] args) {
        Callee callee = new Callee();
        callee.callMe();
    }
}

我希望在jar文件中创建一个jar,并打印“ Callee说:您给我打电话!”在命令行上。

1 个答案:

答案 0 :(得分:3)

使用Maven时,最好不要使用默认值-例如,源代码位于src/main/java下。

您可以从头开始一个新的Maven项目。使用Eclipse菜单,转到File > New > Other..,然后选择Maven>Maven Project;点击Next。在下一页中,选中Create simple project组合框,然后单击next。使用“样本”和“样本”作为groupId和artifactId;然后点击Finish

您现在在Eclipse中有一个“示例”项目;该项目基于Maven。将您的代码放在src/main/java下。如果您从Windows复制/粘贴源,则需要Refresh您的项目。

现在可以使用mvn package从命令行编译项目(尝试一下..),构建会生成一个jar文件,但是您需要清单(需要运行{{ 1}})。


要添加清单,请查看以下答案:How can I create an executable JAR..

编辑后,您的java -jar ..如下图所示。从cmd行使用pom.xml进行构建。使用mvn package运行。

java -jar sample-0.0.1-SNAPSHOT-jar-with-dependencies.jar

修改 可以使用<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>sample</groupId> <artifactId>sample</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <archive> <manifest> <mainClass>serie04.caller.Caller</mainClass> </manifest> </archive> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project> 如下自定义来源位置

build.sourceDirectory