pom.xml
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.jixiuf</groupId> <artifactId>app</artifactId> <packaging>jar</packaging> <version>3.0</version> <name>app</name> <url>http://maven.apache.org</url> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> <!-- distributionManagement 用于向nexus 服务器上deploy ;;;;; mvn deploy --> <distributionManagement> <repository> <id>releases</id> <name>Nexus Release Repository</name> <url>http://127.0.0.1:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://127.0.0.1:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement> </project>
~/.m2/settings.xml
<settings> <localRepository>/resource/java/repos/maven-repo</localRepository> <mirrors> <mirror> <id>nexus</id> <name>local private nexus</name> <mirrorOf>central</mirrorOf> <url>http://localhost:8081/nexus/content/groups/public</url> </mirror> </mirrors> <servers> <server> <!--远程nexus 服务器的用户名与密码,作用就是当要向nexus deploy 自已写的jar 时,会用到.在pom.xml 中会有distributionManagement ,在那里会引用此处的id --> <id>releases</id> <username>admin</username> <password>admin123</password> </server> </servers> <profiles> <profile> <id>nexus</id> <repositories> <repository> <id>nexus</id> <name>local private nexus</name> <url>http://localhost:8081/nexus/content/groups/public</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> </repositories> </profile> </profiles> <activeProfiles> <!--上面定义了两个名为nexus nexus-snapshots的profile ,这里无条件激活激活, 也就是所有的项目都会用到到 ,这两个库 还有一种作用相同的用法,就是定义mirrors --> <activeProfile>nexus</activeProfile> </activeProfiles> </settings>
web tomcat 启动
mvn tomcat:run
除了这个好像还有一个 tomcat 的插件 ,不要弄错了,
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<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/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>org.jixiuf</groupId> <artifactId>web1</artifactId> <packaging>war</packaging> <version>1.0</version> <name>web1 Maven Webapp</name> <url>http://maven.apache.org</url> <build> <finalName>webapp1</finalName> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>tomcat-maven-plugin</artifactId> <configuration> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>3.8.1</version> <scope>test</scope> </dependency> </dependencies> </project>
======================================================================
一个s2sh 的pom.xml
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.jixiuf</groupId>
<artifactId>ss</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>ss Maven Webapp</name>
<url>http://maven.apache.org</url>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.0.2</version>
<configuration>
<!-- 编译源码 jdk 级别 -->
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
<plugin>
<!-- mvn tomcat:run 运行tomcat -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>tomcat-maven-plugin</artifactId>
<configuration>
</configuration>
</plugin>
<plugin>
<!-- 与 hibernate 代码自动化相关的 -->
<groupId>org.codehaus.mojo</groupId>
<artifactId>hibernate3-maven-plugin</artifactId>
<version>2.2</version>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<!-- 由hbm.xml 文件 或者annotation 生成 sql 语句 ,
因为hbm2ddl 是写在executions 中的,并且与process-classes进行了关联 ,
就是说在process-classes时也会进行hbm2ddl
-->
<goal>hbm2ddl</goal>
</goals>
</execution>
</executions>
<configuration>
<components>
<component>
<name>hbm2ddl</name>
<implementation>annotationconfiguration</implementation>
</component>
<component>
<!--由 hbm 生成pojo domain 对象 -->
<name>hbm2java</name>
<packagename>${package.pojo}</packagename>
<outputDirectory>${src.dir}</outputDirectory>
</component>
<component>
<name>hbm2dao</name>
<packagename>${package.dao}</packagename>
<outputDirectory>${src.dir}</outputDirectory>
</component>
<component>
<name>hbmdoc</name>
</component>
</components>
<componentProperties>
<!-- 此plugin 一般性的属性配置 ,可以在component 中配置相同的元素override 这里的配置 -->
<configurationfile>/target/classes/hibernate.cfg.xml</configurationfile>
<packagename>org.jixiuf.pojo</packagename>
<outputfilename>schema.sql</outputfilename>
<jdk5>true</jdk5>
<scan-classes>true</scan-classes>
<!--
<namingstrategy>mycompany.myapp.IRDNamingStrategy</namingstrategy>
-->
<drop>false</drop>
<create>true</create>
<export>false</export>
<format>true</format>
</componentProperties>
</configuration>
<dependencies>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.12</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.5.11</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts2-core</artifactId>
<version>2.1.8.1</version>
</dependency>
<dependency>
<groupId>jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>3.7.2</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
<version>2.5.6</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate</artifactId>
<version>3.2.7.ga</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-annotations</artifactId>
<version>3.4.0.GA</version>
</dependency>
<!-- 引入 servlet jsp 支持,否则 找不到httpServlet 等 类 -->
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-servlet_2.4_spec</artifactId>
<version>1.1.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jsp_2.0_spec</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
</dependencies>
<!-- 一些属性的配置 ,有上面可以${package.pojo} 引用这里的参数-->
<properties>
<package.pojo>org.jixiuf.pojo</package.pojo>
<package.dao>org.jixiuf.dao</package.dao>
<src.dir>/src/main/java</src.dir>
</properties>
</project>