0. useful commands:
mvn install:install-file -DgroupId=org.apache.maven.archetypes -DartifactId=${myArtifactId} -Dversion=RELEASE -Dpackaging=jar -Dfile=/path/to/file
mvn deploy:deploy-file -DgroupId=org.apache.maven.archetypes -DartifactId=${myArtifactId} -Dversion=RELEASE -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]
mvn -Dtest=MenuItemFacadeTest test
mvn archetype:create -DarchetypeArtifactId=maven-archetype-webapp -DgroupId=${groupId} -DartifactId=${artifactId}
mvn archetype:create -DgroupId=${groupId} -DartifactId=${artifactId}
mvn archetype:create \
-DarchetypeGroupId=<archetype-groupId> \
-DarchetypeArtifactId=<archetype-artifactId> \
-DarchetypeVersion=<archetype-version> \
-DgroupId=<my.groupid> \
-DartifactId=<my-artifactId>
1. setting resource files:
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.xml</include>
<include>**/*.properties</include>
</includes>
</resource>
</resources>
</build>
2. compiler plugin:
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
3. tomcat plugin(mvn tomcat:run):
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<version>1.0-beta-1</version>
<configuration>
<path>/trsWeb</path>
<port>9080</port>
</configuration>
</plugin>
4. jetty plugin(mvn jetty:run):
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<version>6.1.24</version>
<configuration>
<scanIntervalSeconds>10</scanIntervalSeconds>
<contextPath>/trsWeb</contextPath>
<connectors>
<connector implementation="org.mortbay.jetty.bio.SocketConnector">
<port>9080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
</plugin>
jetty-debug.bat:
@echo off
if "%OS%" == "Windows_NT" setlocal
set MAVEN_OPTS=-Xdebug -Xmx512m -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=4000,server=y,suspend=n
mvn jetty:run
5. antrun plugin(mvn package):
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<id>package</id>
<phase>package</phase>
<configuration>
<tasks if="${boolVariable}">
<property name="compile_classpath" refid="maven.compile.classpath"/>
<property name="runtime_classpath" refid="maven.runtime.classpath"/>
<property name="test_classpath" refid="maven.test.classpath"/>
<property name="plugin_classpath" refid="maven.plugin.classpath"/>
<echo message="compile classpath: ${compile_classpath}"/>
<echo message="runtime classpath: ${runtime_classpath}"/>
<echo message="test classpath: ${test_classpath}"/>
<echo message="plugin classpath: ${plugin_classpath}"/>
<copy file="d:/1.txt" tofile="d:/2.txt"/>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
or: mvn antrun:run
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.4</version>
<configuration>
<tasks if="${build.prod}">
<property name="basedir" value="${basedir}" />
<property name="compile_classpath" refid="maven.compile.classpath" />
<property name="runtime_classpath" refid="maven.runtime.classpath" />
<property name="test_classpath" refid="maven.test.classpath" />
<property name="plugin_classpath" refid="maven.plugin.classpath" />
<property name="build.dir" value="${project.build.directory}" />
<property name="dist" value="${build.dir}/dist" />
<property name="dist.src" value="${dist}/src" />
<ant antfile="${basedir}/m2-build.xml">
<target name="${build.task}" />
</ant>
</tasks>
</configuration>
</plugin>
6. profiles.xml
<?xml version="1.0" encoding="UTF-8"?>
<profilesXml>
<profiles>
<profile>
<id>development</id>
<properties>
<maven.test.skip>true</maven.test.skip>
</properties>
</profile>
<profile>
<id>production</id>
<properties>
<maven.test.skip>false</maven.test.skip>
</properties>
</profile>
</profiles>
<activeProfiles>
<activeProfile>development</activeProfile>
</activeProfiles>
</profilesXml>
tip: the maven can auto detect the profiles.xml at the same directory with pom.xml, and use it.
7. active profile dynamically:
1. write activation condition in each profile:
<activation>
<property>
<name>env</name>
<value>was</value>
</property>
</activation>
2. define the default ${env} property in pom.xml:
<properties>
<env>dev</env>
</properties>
3. don't specify any activiate profile in neither pom.xml nor profiles.xml
4. mvn package -Denv=was
8. encoding resource copying:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<configuration>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
9. 3 ways to run Java main from Maven£º
1) Running from Command line
01. mvn compile
02. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" <------- no args
03. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.args="arg0 arg1 arg2" -Dexec.commandlineArgs="-Xloggc:<file>" <------- with args
04. mvn exec:java -Dexec.mainClass="com.vineetmanohar.module.Main" -Dexec.classpathScope=runtime <------- with runtime dependencies in classpath
2) Running in a phase in pom.xml
01. <plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
<arguments>
<argument>arg0</argument>
<argument>arg1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
02. mvn test
3) Running in a profile in pom.xml
01. <profiles>
<profile>
<id>code-generator</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>java</goal>
</goals>
<configuration>
<mainClass>com.vineetmanohar.module.CodeGenerator</mainClass>
<arguments>
<argument>arg0</argument>
<argument>arg1</argument>
</arguments>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
</profiles>
02. mvn test -Pcode-generator
4) Advanced options:
01. You can get a list of all available parameters by typing:
mvn exec:help -Ddetail=true -Dgoal=java
10. mvn dependency:copy-dependencies
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<configuration>
<outputDirectory>m2_repo</outputDirectory>
<overWriteIfNewer>true</overWriteIfNewer>
<useRepositoryLayout>true</useRepositoryLayout>
<copyPom>true</copyPom>
</configuration>
</plugin>
11. deploy snapshot/3rd party maven project to nexus:
pom.xml
------------------------------------------------------------------------------------------
<distributionManagement>
<repository>
<id>nexus-releases</id>
<name>Nexus142 Release Repository</name>
<url>http://10.199.130.142:8080/nexus/content/repositories/releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus142 Snapshot Repository</name>
<url>http://10.199.130.142:8080/nexus/content/repositories/snapshots/</url>
<uniqueVersion>false</uniqueVersion> <---- avoid to append current timestamp on uploaded jars.
</snapshotRepository>
</distributionManagement>
12. change default maven repository folder:
${MAVEN_HOME}\conf\settings.xml
------------------------------------------------------------------------------------------
<settings...>
<localRepository>D:\DevTools\apache-maven-2.2.1\repo</localRepository>
</settings>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>local-nexus</id>
<url>http://10.199.130.142:8080/nexus/content/groups/public</url>
<releases>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>never</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
13. setting Nexus account:
${MAVEN_HOME}\conf\settings.xml
------------------------------------------------------------------------------------------
<settings...>
<servers>
<server>
<id>nexus-releases</id>
<username>admin</username>
<password>mmis@123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>mmis@123</password>
</server>
</servers>
</settings>
14. run specified testcase in maven-test:
mvn -Dtest=MenuItemFacadeTest test
15. repository list:
<repositories>
<repository>
<id>maven2-repo1</id>
<name>Maven2 Repo 1</name>
<url>http://repo1.maven.org/maven2</url>
</repository>
<repository>
<id>ibiblio</id>
<name>iBiblio Maven2 Repository</name>
<url>http://www.ibiblio.org/maven2</url>
</repository>
<repository>
<id>apache-repo</id>
<name>Apache Repository</name>
<url>http://people.apache.org/repo/m2-snapshot-repository</url>
</repository>
<repository>
<id>compass-project.org</id>
<name>Compass</name>
<url>http://repo.compass-project.org</url>
</repository>
<repository>
<id>java.net</id>
<name>JavaNet</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>http://maven.seasar.org/maven21</id>
<name>http://maven.seasar.org/maven2</name>
<url>http://maven.seasar.org/maven2</url>
</repository>
</repositories>
发表评论
-
Eclipse
2010-12-22 13:29 6601. highlight warning log mes ... -
Java Advance
2010-12-22 13:27 8241. A class with a given name ... -
J2EE EJB OpenEJB
2010-12-22 13:26 12321.Generally speaking the onl ... -
Spring
2010-12-22 13:25 7971. @Autowired vs. setter @A ... -
JPA Toplink
2010-12-22 13:25 15411.persistence.xml --------- ... -
Apache Ant
2010-12-22 13:22 7721. Add additional command li ... -
Trouble Shooting
2010-12-22 13:22 17901. Problem: log4j:WARN D ...
相关推荐
4. **设置字体**: 通过`Window` -> `Preferences` -> `General` -> `Appearance` -> `Colors and Fonts` -> `Basic` -> `Text Font`,选择合适的字体大小和样式。 5. **安装m2e插件**: - 通过`Help` -> `Eclipse ...
### Maven的41种骨架功能介绍 Maven作为一款强大的构建工具,在软件开发过程中扮演着极其重要的角色。它不仅能够帮助开发者自动化构建过程,还能通过其骨架(Archetype)功能来快速搭建项目的初始结构,极大地提高...
5. **安全性**:Tomcat支持多种安全认证机制,如Basic、Digest和Form认证,以及SSL/TLS加密,确保Web应用的安全性。 **配置与使用** 在Windows环境下,首先解压Maven和Tomcat的压缩包,然后配置环境变量。对于...
jmeter-maven-plugin, JMeter Maven 插件 #JMeter Maven 插件 提供在构建过程中运行JMeter测试的能力的Maven 插件有关更改信息,请参阅变更日志 。这个插件需要 1.8 或者更高版本,自 2.2.0 #Basic 用法将插
java源码剖析基本的Maven示例 这个简单的Maven项目正在导入JaCoCo的覆盖率报告。 有关多模块项目示例,请参见 用法 使用SonarQube Scanner for Maven构建项目,执行所有测试并分析项目(从项目的根目录开始): mvn ...
You should be well versed with Maven and its basic functionalities if you wish to get the most out of this book. Table of Contents Chapter 1: Basic Dependency Management Chapter 2: Dependency ...
Introducing Maven is your quick start-...After reading and using this short book, you'll have an understanding of Maven's dependency management and how to organize basic and multi-module Maven projects.
CXF支持多种安全机制,如Basic Auth、OAuth等,可以根据需求进行选择和配置。 9. **错误处理与日志**: 在开发过程中,错误处理和日志记录是非常重要的。CXF提供了异常处理机制,可以自定义错误响应,同时通过日志...
mvn archetype:create –DarchetypeGroupId=com.easyjf.easyjweb –DremoteRepositories=http://dl.easyjf.com/maven2 –DarchetypeArtifactId=easyjweb-basic-initial –DarchetypeVersion=1.0 –DgroupId=...
JAXB2 Maven插件欢迎使用org.jvnet.jaxb2.maven2:maven-jaxb2-plugin ,这是用于XML Schema编译的最先进且功能齐全的Maven插件。 这个Maven插件包装并增强了 并允许将XML Schema(以及WSDL,DTD,RELAX NG)编译为...
6. **Maven或Gradle依赖管理**:如果项目中使用了这些构建工具,了解如何添加和管理项目依赖。 7. **安全性考虑**:BasicAuth的缺点在于明文传输密码,因此通常需要配合HTTPS使用。此外,还应考虑凭证的存储和加密...
public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String message = new String(body, StandardCharsets.UTF_8); ...
"openmrs-contrib-maven-archetype-basicmodule-creation" 是一个专门针对OpenMRS的Maven原型,用于简化基本模块的创建流程,让开发者能够快速启动新项目。本文将深入探讨这一工具的使用以及与Java开发的相关知识点...
在Maven工程中,可以在pom.xml文件中添加如下依赖: ```xml <groupId>org.springframework.security <artifactId>spring-security-core <version>2.0.8.RELEASE ``` 注意,Acegi Security已经被Spring ...
6. **项目结构与规范**:基础项目通常会遵循一定的项目组织结构,例如Maven或Gradle的目录结构,这有助于保持代码的整洁和可维护性。同时,也可能涉及代码风格和命名规范的介绍。 7. **测试与调试**:基础项目可能...
Maven原型 用于初始化Java项目的Maven原型 如何编译 mvn clean install 如何使用 mvn archetype:generate \ -DarchetypeGroupId=guybrush.maven.... -DarchetypeArtifactId=java-basic \ -DarchetypeVersion=1.0
`jsmart-basic-archetype` 是一个Maven原型,它为创建一个基于JSmart的简单Web项目提供了基础框架。 **Maven原型的用途** Maven原型(Archetype)是预定义的项目结构,可以用来快速初始化一个新的项目。`jsmart-...
5. 构建工具:如Maven或Gradle,用于自动化构建过程,管理依赖关系。 6. 开发环境:如Eclipse、IntelliJ IDEA等,提供代码编辑、调试、编译和运行的支持。 最后,压缩包中的"basic"文件很可能包含了上述所有内容的...
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装
官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装