Flask接口签名sign原理与实例代码浅析
291
2023-01-04
使用maven编译Java项目实例
综述
本文演示了用Maven编译java项目
需要
时间:15分钟
文本编辑器或者IDE
JDK 6 或者更高版本
创建项目
本例主要为了展示Maven,所以Java的项目力求简单。
创建项目结构 选
择一个项目目录,在 *nix系统上使用下面语句
mkdir -p src/main/java/hello
window下使用命令
mkdir src\main\java\hello
创建如下结构:
└── src
└── main
└── java
└── hello
在src/main/java/hello目录下创建Java文件HelloWorld.java和 Greeter.java
src/main/java/hello/HelloWorld.java
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
src/main/java/hello/Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
现在项目完成,可以用Maven编译了。有关Maven的安装,可以参考Apache Maven 3.1.0 安装、部署、使用
定义简单的Maven编译
首先,在项目的根目录下创建一个Maven项目定义文件pom.xml,该文件主要是说明项目的名称、版本和依赖库
pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
除了
编译Java代码
运行下面语句编译
mvn compile
编译完成的.class文件将会出现在target/classes目录下.如下图
运行项目:
mvn exec:java -Dexec.mainClass="hello.HelloWorld"
输出如下:
如果不想直接运行.class文件,可以将其打包:
mvn package
打包完成后,会在target目录下生成一个JAR文件,文件名由
如果你想安装您的项目的JAR文件到本地Maven仓库,那么你应该调用下面语句:
mvn installmvn install
此时,你的项目代码将会经过编译、测试、打包并拷贝到本地依赖库,提供给其他项目引用。
以上例子源码的地址https://github.com/waylau/maven-demo中的demo1
说到项目依赖,下面说下声明依赖
声明依赖
上面的例子比较简单,没有用到其他库。但是真实的项目可能会引用(依赖)到很多其他库。
下面例子,依赖了Joda Time的库。
修改src/main/java/hello/HelloWorld.java
package hello;
import org.joda.time.LocalTime;
public class HelloWorld {
public static void main(String[] args) {
LocalTime currentTime = new LocalTime();
System.out.println("The current local time is: " + currentTime);
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
现在运行mvn compile将会报错,因为没有声明依赖。在
这段内容就声明了项目的依赖。每个依赖节点<dependency>都由三个子节点组成:
在POM 4中,
compile,缺省值,适用于所有阶段,会随着项目一起发布。
provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
system,类似provided,需要显式提供包含依赖的jar,Maven不会在Repository中查找它。
现在你运行mvn compile或者mvn package,Maven会自动下载相关依赖。
完整的pom.xml
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
运行项目:
mvn exec:java -Dexec.mainClass="hello.HelloWorld"
输出如下:
以上例子源码的地址https://github.com/waylau/maven-demo中的demo2
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~