maven run project
2016-01-18 10:26
363 查看
在maven工程里运行Java main方法是通过Maven的exec插件以命令行方式运行。
在运行前,你需要先编译代码,记住exec:java不会自动为你编译代码,你需要先编译。
mvn compile
编译完之后如下命令运行你的class
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"
如果需要添加参数
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"
附注:
1. maven的编译依赖范围:
compile:默认使用该依赖,对编译,测试,运行三种classpath 都有效
test: 只对测试时有效,如junit (在dependency中,当<scope>为test时,说明该依赖包只会加入到测试代码中去)
provided:在运行时无效,对编译和测试有效,如servlet-api
runtime:如JDBC,对测试和运行有效,在编译时无效
2.一个对传递性依赖的排除
示例2.1:表示虽然依赖project-a,但是不想依赖a所依赖的b。
<dependency>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-a</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-b</artifactId>
</exclusion>
</exclusions>
</dependency>
示例2.2:排除一个依赖, 添加另外一个依赖:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.5.ga</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
<version>1.1</version>
</dependency>
使用排除依赖, 一般是一个传递依赖在编译的时候需要, 但是在实际运行环境不需要的时候
在运行前,你需要先编译代码,记住exec:java不会自动为你编译代码,你需要先编译。
mvn compile
编译完之后如下命令运行你的class
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main"
如果需要添加参数
mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2"
附注:
1. maven的编译依赖范围:
compile:默认使用该依赖,对编译,测试,运行三种classpath 都有效
test: 只对测试时有效,如junit (在dependency中,当<scope>为test时,说明该依赖包只会加入到测试代码中去)
provided:在运行时无效,对编译和测试有效,如servlet-api
runtime:如JDBC,对测试和运行有效,在编译时无效
2.一个对传递性依赖的排除
示例2.1:表示虽然依赖project-a,但是不想依赖a所依赖的b。
<dependency>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-a</artifactId>
<version>1.0</version>
<exclusions>
<exclusion>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-b</artifactId>
</exclusion>
</exclusions>
</dependency>
示例2.2:排除一个依赖, 添加另外一个依赖:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.5.ga</version>
<exclusions>
<exclusion>
<groupId>javax.transaction</groupId>
<artifactId>jta</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jta_1.1_spec</artifactId>
<version>1.1</version>
</dependency>
使用排除依赖, 一般是一个传递依赖在编译的时候需要, 但是在实际运行环境不需要的时候
相关文章推荐
- Objective-C @property学习总结2
- 安装mysql 5.7 最完整版教程
- Linux定时任务执行crontab
- 学习Android Material Design(RecyclerView代替ListView)
- 常用Android开发组件之文本类组件
- shell编程-运算符
- 'libxml/tree.h' file not found
- iOS技术开发之路
- PHP实现乘法表
- c static关键字描述
- UIScreen(屏幕)、UIWindow(画框)、UIView(画布)、didFinishLaunchingWithOptions、UIViewController各个方法的加载顺序
- Itop REST/JSON services 验证登陆方法
- redhat6.5下配置安装yum源
- php截取逗号之前的字符
- Android开发:彻底更改工程名
- MVC中使用RadioButtonFor
- UVA 1424 - Salesmen 刘汝佳的动归练习 ★★★
- 2016年1月中国域名商解析量14强:排名变动大
- 如何在 Ubuntu/Fedora/Debian 中安装 GitLab
- 如何在 Ubuntu/Fedora/Debian 中安装 GitLab