美文网首页Java学习笔记
MVN 使用问题及解决办法集锦

MVN 使用问题及解决办法集锦

作者: igool | 来源:发表于2017-02-21 13:19 被阅读76次

    1 当你在pom里面定义了一堆properties时,发现你需要把它们分离,用专属properties文件来存储时。properties-maven-plugin这上plugin决对能满足了。

    请看定义片断:

    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>properties-maven-plugin</artifactId>
    <version>1.0-alpha-2</version>
    <executions>
    <execution>
    <id>pre-clean-config</id>
    <phase>pre-clean</phase>
    <goals>
    <goal>read-project-properties</goal>
    </goals>
    <configuration>
    <files>
    <file>config.properties</file>
    </files>
    </configuration>
    </execution>
    <execution>
    <id>initialize-config</id>
    <phase>initialize</phase>
    <goals>
    <goal>read-project-properties</goal>
    </goals>
    <configuration>
    <files>
    <file>config.properties</file>
    </files>
    </configuration>
    </execution>
    </executions>
    </plugin> 
    

    注意这里定义了两个phase, 分别用ID进行了区分。这里的应用场景是这样的,我在执行mvn clean, mvn install时,都需要读取properties文件里面的值,但是clean,install它们的生命周期是分开的,所以针对这种情况需要单独定义。stackflow上有人也碰到了这个问题,http://stackoverflow.com/questions/9912632/maven-reading-a-property-from-an-external-properties-file.

    2 JAVA程序直接调用TOMCAT,进行程序调试。
    之前同事推荐使用jetty进行WEB程序调式,经过我的使用,感觉不太理想。它的实现方式主要是要引入Jetty运行时的依赖,然后再需要手动写一个类去启动jetty 。其间碰到些莫名其妙的问题,毕竟它不是一个非常专业的WEB容器,对页面解析这一块还是没有标准的tomcat,resin友好。所以,我决定采用常用的tomcat来进行集成(0代码),步骤如下:
    2.1首先增加一个MVN环境下面TOMCAT调试的环境变量
    MAVEN_OPTS=Xdebug -Xrunjdwp:transport=dt_socket,address=1044,server=y,suspend=n
    2.2修改POM,增加plugin的支持

    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>tomcat-maven-plugin</artifactId>
    <version>1.1</version>
    <configuration>
    <path>/</path>
    </configuration>
    </plugin>
    

    这里,你可以自定义端口,ContextPath等变量
    2.3右键POM,配置一个DEBUG的Run Configuractions,指定你的工作区间,JRE等等,运行即可。

    3 中文配置文件自动转码utf-8

    <plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>native2ascii-maven-plugin</artifactId>
                    <executions>
                        <execution>
                            <goals>
                                <goal>native2ascii</goal>
                            </goals>
                            <!-- specific configurations -->
                            <configuration>
                                <encoding>UTF8</encoding>
                                <includes>
                                    <include>messages/messages.properties</include>
                                    <include>messages/messages_zh_CN.properties</include>
                                </includes>
                            </configuration>
                        </execution>
    
                    </executions>
    
                </plugin>
    

    That's it,so easy!(不定时更新)

    相关文章

      网友评论

        本文标题:MVN 使用问题及解决办法集锦

        本文链接:https://www.haomeiwen.com/subject/wafuwttx.html