Articles with maven

Maven build 中启动 JMX Agent

Maven build 中启动 JMX Agent

为了监控 JVM,研究了下 VisualVM,但是不知道怎么导出里面的数据,可导出就比较方便做数据比对,而且也不知道怎么控制显示的历史信息跨度。而这两点在 JConsole 中都可以。于是要折腾 JConsole,一开始还不怎么顺利,虽然看上去只是几项配置。 因为在开发过程当中都是使用 mvn jetty:run 启动的。原来以为是这样: mvn jetty:run -Dcom.sun.management.jmxremote.port=9410 \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun.management.jmxremote.ssl=false 然后使用 jconsole 127.0.0.1:9410 ,提示是 Connection refused 后来了解到,如果 JMX Agent 启动成功的话,会产生一个端口监听。 再执行 netstat -a | grep 9410 ,毫无反应。 网上乱…

Continue reading

Maven-jetty-plugin 中多 webapp 资源目录的配置问题

开发中经常用到 maven jetty:run,特别是它支持 多个 webapp 资源目录 的特性,在开发环境中相当有用。比如,src/main/webapp 是 prod 的资源,而有些开发或者测试时用到的资源可以安心的放在 src/test/webapp。可以 参考这里 详细了解怎么使用。 但是,迁移了环境之后,发现它总是报错: [ERROR] BUILD ERROR [INFO] ———————————————————————— [INFO] Failed to configure plugin parameters for: org.mortbay.jetty:maven-jetty-plugin:6.1.22 (found static expression: 'src/main/webapp,src/test/webapp' which may act as…

Continue reading

让Jetty更加开胃

Maven 的 jetty-plugin 很好用,我是蛮喜欢,一直在用,现在做开发做测试基本离不开了,一条命令 mvn jetty:run 下去,感觉一个新世界被打开了一样。 不过在 window 上的 eclipse 里,它并不是很乖,主要是停不下来,传说这个是 window 平台上的一个硬伤,幸好解决方法还是有的,采取调试,Remote Java Application 的调试里有个选项 Allow termination of remote VM,可以在一定程度上解决这个问题,有点曲线,不过也方便,随时可以调试。我主要还是在 linux 环境下使用,因此这个问题基本对我不影响。 除了平台的问题,还遇到了一个 Form too large xxxxxx>200000 的问题,一开始没看清楚报错,使劲在 struts2 的范围里面找解决方法,以为是某个设置影响它约束了接受的 form 的大小。还好在无敌的 google…

Continue reading

当maven internal archetype catalog不听使的时候

我的目的就是要用archetype来创建一个struts2的blank项目,struts2官网上写的有2.1.6版本 可是我的archetype列表里面只有一个不存在的2.0.9-SNAPSHOT版本,http://people.apache.org/repo/m2-snapshot-repository/目前有2.0.11-SNAPSHOT和2.0.14-SNAPSHOT,这怎么办呢? 最原始的想法就是把包含2.1.6的repo地址(http://www.lenart.org.pl/maven/)加入到settings.xml里面,结果没反应。 手动安装,同样没反应。 这个时候可以想象到maven有一个列表一样的东西来维护这些archetype,很快网上的资料证实了我的想法,于是我尝试手动的更新catalog mvn archetype:crawl maven哄哄的扫描完一遍之后,没想到它依然缠绕在2.0.9-SNAPSHOT上面。 心都凉了,突然之间maven在我内心的评价直接跳水,maven的这个插件好傻。 其实这个时候应该换个archetype就好,appfuse有的,不过就是不喜欢它创建出来的东西太杂乱。不换archetype,应该可以换个archetype catalog吧,于是目光聚集在http://maven.apache.org/plugins/maven-archetype-plugin/examples/generate-alternative-catalog.html mvn archetype:generate \ -DarchetypeCatalog=http://www.lenart.org.pl/maven/ It works. Pala pala的输入相关信息就创建好了。 不过这种做法的前提是repo有一个叫 archetype-catalog.xml 的文件。 不喜欢选择的话,可以用下面这个拉风得很的命令: mvn archetype:generate \ -DarchetypeCatalog=http://www.lenart.org.pl/maven/ \ -B \ -DarchetypeGroupId=org.apache.struts \ -DarchetypeArtifactId=struts2-archetype-blank \ -DarchetypeVersion=2.1.6…

Continue reading