maven nexus 最佳实践

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>

 

 

你可能感兴趣的:(maven,tomcat,Hibernate,properties,dependencies,Components)