java - 如何使用 Maven 设置构建脚本?
问题描述
我如何告诉 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-File 中创建一个 jar 并打印“被调用者说:你打电话给我!” 在命令行上。
解决方案
使用 Maven 时,最好坚持使用默认值——例如,源代码位于src/main/java
.
你可以从头开始一个新的 Maven 项目。使用 Eclipse 菜单,转到File > New > Other..
然后选择Maven>Maven Project
;单击Next
。在下一页中,选中Create simple project
组合框并单击next
。使用“sample”和“sample”作为groupId和artifactId;然后单击Finish
。
您现在在 Eclipse 中有一个“示例”项目;这个项目是基于 Maven 的。将您的代码放在src/main/java
. 如果您从 Windows 复制/粘贴源代码,那么您将需要到Refresh
您的项目中。
mvn package
现在可以使用(try it..)从命令行编译项目jar
,并且构建会生成一个文件,但是您需要清单 (需要运行java -jar ..
)。
要添加清单,请查看以下答案:How can I create an executable JAR..
编辑后,您pom.xml
将如下图所示。mvn package
使用从 cmd 行构建。运行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
如下
..
<build>
<sourceDirectory>${project.basedir}/src</sourceDirectory>
<plugins>
<plugin>
....
..
推荐阅读
- python - 为什么我运行 Python3 speech_recognition 时会出现错误日志?
- javascript - FPDF - 单元格内的 SetFillColor
- json - T-SQL OpenJson 嵌套数组
- angular - *ngFor 迭代数组的值
- ruby-on-rails - 如何将红色突出显示的文件添加到 git?(RubyMine)
- c# - 单台电脑可以同时启动多少个 Selenium 驱动的自动化浏览器
- azure-sql-database - Azure SQL 数据仓库 - 最大并发查询数
- node.js - Tesseract.js - 逐行输出结果而不是读取整个图像
- docker - 如何在 Dockerfile 或 docker-compose 中使用 touch 创建文件?
- javascript - chrome 扩展,如何从 contextMenus 选项显示模式