mvn命令行
执行Java程序
1
|
mvn exec:java -Dexec.mainClass=org.jamsa.scalademo.FunctionValue
|
运行单个单元测试
1
|
mvn test -Dtest=AppTest
|
安装包和源码包
1
|
mvn install:install-file -Dfile=target/jsonplugin-0.34.jar -Dsources=target/jsonplugin-0.34-sources.jar -DartifactId=jsonplugin -DgroupId=com.googlecode -Dversion=0.34 -Dclassifier=sources -Dpackaging=jar
|
生成lift应用
1
|
mvn.bat archetype:generate -U -DarchetypeGroupId=net.liftweb -DarchetypeArtifactId=lift-archetype-blank -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=demo.helloworld -DartifactId=helloworld -Dversion=1.0-SNAPSHOT
|
pom.xml配置
dependency的scope
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- 使ide能找到c标签库的tld文件 -->
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
<scope>provided</scope>
</dependency>
|
这里的test表示在测试时才需要该依赖。而provided则表示发布后的环境中将提供这个包。
scala插件配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>compile</goal>
<goal>testCompile</goal>
</goals>
</execution>
</executions>
<configuration>
<scalaVersion>${scala.version}</scalaVersion>
<args>
<arg>-target:jvm-1.5</arg>
<arg>-encoding</arg>
<arg>GBK</arg>
</args>
</configuration>
</plugin>
|
通过args可指定-encoding参数,可以避免出现scalac识别源码字符集错误的问题。
指定所使用的依赖的编译版本
1
2
3
4
5
6
|
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20090211</version>
<classifier>jdk1.5</classifier>
</dependency>
|
jetty插件的配置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<stopPort>9966</stopPort>
<stopKey>foo</stopKey>
<webAppConfig>
<contextPath>/budget</contextPath>
<defaultsDescriptor>src/main/resources/webdefault.xml
</defaultsDescriptor>
<!--
<overrideDescriptor>src/main/resources/override-web.xml</overrideDescriptor>
-->
</webAppConfig>
</configuration>
</plugin>
|
这里有一个样例 webdefault.xml 。webdefault.xml可以解决执行jetty:run时静态文件不能修改的问题。
一个简单的Profile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<profiles>
<profile>
<id>oc4j</id>
<dependencies>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.6.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>src/main/oc4j</directory>
</resource>
</webResources>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
|