zoukankan      html  css  js  c++  java
  • Maven

    Maven

     

    maven创建工程目录不全问题

    原因是创建maven工程时没有勾选create a simple project(skip archetype selection)项,而是只勾选了Use default Workspace location然后选择下一步的方式创建,这种方式创建的maven会缺少一些目录。解决办法是勾选create a simple project(skip archetype selection)项,然后直接在表单中输入Group Id和Artifact Id即可。

     

    配置阿里云镜像

       <mirror>
            <id>nexus-aliyun</id>
            <mirrorOf>*</mirrorOf>
            <name>Nexus aliyun</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>

    添加本地依赖包

    添加本地依赖包:

                <dependency>
                <groupId>com.jacob</groupId>
                <artifactId>jacob</artifactId>
                <version>1.19</version>
                <scope>system</scope>
                <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/jacob.jar</systemPath>
            </dependency>

    如果不使用添加本地依赖包的方式,打包时就要在pom.xm加入下面的配置【不推荐】

                    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.5.1</version>
                    <configuration>
                        <source>${jdk.version}</source>
                        <target>${jdk.version}</target>
                        <showWarnings>true</showWarnings>
                        <encoding>UTF-8</encoding>
                        <!-- 这里是新添加的 -->
                        <compilerArguments>
                            <!-- 对应jar放置在项目中的位置 -->
                            <extdirs>lib</extdirs>
                        </compilerArguments>
                    </configuration>
                </plugin> 

    pom.xml

    dependency.version中引用version版本

        

        <packaging>war</packaging>
        
        // 1.定义properties属性
        <!-- 项目属性 -->
        <properties>
            <!-- main version setting -->
            <servlet.version>3.1.0</servlet.version>
            <struts2.version>2.3.4</struts2.version>
        </properties>
     
       // 在denpendance中引用
       <dependencies>
            <dependency>
                <groupId>javax.servlet</groupId>
                <artifactId>javax.servlet-api</artifactId>
                <version>${servlet.version}</version>
            </dependency>
            <dependency>
                <groupId>org.apache.struts</groupId>
                <artifactId>struts2-core</artifactId>
                <version>${struts2.version}</version>
            </dependency>
        </dependencies>

    使用jetty

    <build>
            <plugins>
                <plugin>
                    <groupId>org.eclipse.jetty</groupId>
                    <artifactId>jetty-maven-plugin</artifactId>
                    <version>9.4.7.v20170914</version>
                    <configuration>
                        <webApp>
                            <contextPath>/${build.finalName}</contextPath>
                        </webApp>
                        <stopKey>CTRL+C</stopKey>
                        <stopPort>8999</stopPort>
                        <scanIntervalSeconds>10</scanIntervalSeconds>
                        <scanTargets>
                            <scanTarget>src/main/webapp/WEB-INF/web.xml</scanTarget>
                        </scanTargets>
                    </configuration>
                </plugin>
            </plugins>
        </build>

    如果使用的是eclipse集成的话:在maven bulid输入:

    jetty run

    不是的话,需要输入:

    mvn jetty run

    访问地址是打过包的地址:

     

    即:http://localhost:8080/Struts2Base-0.0.1-SNAPSHOT

     

     

    maven打包

    打包

    项目右键 -> Run as -> Maven clean 等待执行成功后 -> 项目右键+Run as + Run Configurations 在Goals输入框中输入:

    package

     然后 run即可。

     

    出现的问题

    1、打包报错:程序包javax.validation不存在

         解决方法:清空mvn仓库下的javax包,然后重新使用maven下载

     

    2、打包报错:程序包com.jacob.activeX不存在

         解决方法:不在使用在jar包上右击add to build path方式,这种方式打包是不会把该程序包打进去,所以打包时会报错。解决方式就是使用添加本地依赖包的形式将本地的jacob加入maven中,详见【@ link 添加本地依赖包一章】

     

    3、打包报错:在打包测试程序时报错:找不到符号

         解决方法:打包时忽略测试程序包:Run Configuration中的Goals中填写:

    package -Dmaven.test.skip=true

         然后,run即可。

     

    4、eclipse默认使用的时jre1.6版本,如果将jre版本更改为1.8也会导致打包出错

     

     

     

     

     

    常见报错

    error:web.xml is missing and <failOnMissingWebXml> is set to true

    resolve:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
        </plugins>
    </build>

    error:Java compiler level does not match the version of the installed Java project facet.

    error:Dynamic Web Module 3.1 requires Java 1.7 or newer.

    resolve:

    <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <version>3.1</version>
                    <configuration>
                        <source>1.8</source>
                        <!-- 如果是1.8,修改为1.8 -->
                        <target>1.8</target>
                        <!-- 如果是1.8,修改为1.8 -->
                    </configuration>
                </plugin>

    maven创建工程目录不全问题

    原因是创建maven工程时没有勾选create a simple project(skip archetype selection)项,而是只勾选了Use default Workspace location然后选择下一步的方式创建,这种方式创建的maven会缺少一些目录。解决办法是勾选create a simple project(skip archetype selection)项,然后直接在表单中输入Group Id和Artifact Id即可。

     

    配置阿里云镜像

       <mirror>        <id>nexus-aliyun</id>        <mirrorOf>*</mirrorOf>        <name>Nexus aliyun</name>        <url>http://maven.aliyun.com/nexus/content/groups/public</url>    </mirror>

     

     

    添加本地依赖包

    添加本地依赖包:

                <dependency> <groupId>com.jacob</groupId> <artifactId>jacob</artifactId> <version>1.19</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/jacob.jar</systemPath> </dependency>

     

    如果不使用添加本地依赖包的方式,打包时就要在pom.xm加入下面的配置【不推荐】

                    <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <version>3.5.1</version> <configuration> <source>${jdk.version}</source> <target>${jdk.version}</target> <showWarnings>true</showWarnings> <encoding>UTF-8</encoding> <!-- 这里是新添加的 --> <compilerArguments> <!-- 对应jar放置在项目中的位置 --> <extdirs>lib</extdirs> </compilerArguments> </configuration> </plugin>    

     

    前进时,请别遗忘了身后的脚印。
  • 相关阅读:
    第07组 Beta冲刺(2/5)
    第07组 Beta冲刺(1/5)
    第07组 Alpha事后诸葛亮
    第07组 Alpha冲刺(5/6)
    第07组 Alpha冲刺(6/6)
    软工实践个人总结
    第01组 Beta版本演示
    第01组 Beta冲刺(5/5)
    第01组 Beta冲刺(4/5)
    第01组 Beta冲刺(3/5)
  • 原文地址:https://www.cnblogs.com/liudaihuablogs/p/13462038.html
Copyright © 2011-2022 走看看