- 浏览: 1230973 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
lankk:
lankk 写道事实上,在运行String s1=new St ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
事实上,在运行String s1=new String(&qu ...
理解String 及 String.intern() 在实际中的应用 -
lankk:
同意1楼的说法http://docs.oracle.com/j ...
理解String 及 String.intern() 在实际中的应用 -
raoyutao:
...
jdk 线程池 ThreadPoolExecutor -
hongdanning:
理解了。之前困惑的一些明白了。谢谢分享。
理解String 及 String.intern() 在实际中的应用
在mvn.bat中很有用的一段 说了可以设置哪些参数 怎么debug
@REM ---------------------------------------------------------------------------- @REM Maven2 Start Up Batch script @REM @REM Required ENV vars: @REM JAVA_HOME - location of a JDK home dir @REM @REM Optional ENV vars @REM M2_HOME - location of maven2's installed home dir @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a key stroke before ending @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven @REM e.g. to debug Maven itself, use @REM set MAVEN_OPTS=-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 @REM ----------------------------------------------------------------------------
需要灵活的时候
maven-artifact-ant
http://www.gbsou.com/2009/11/19/1510.html
maven-antrun-plugin
http://dev.firnow.com/course/3_program/java/javajs/20090306/158332.html
http://hi.baidu.com/yafengyouxia/blog/item/44dfb1a19c22ac8146106479.html
=========================================
mvn help:effective-pom 查看项目的有效配置
mvn dependency:analyze 分析依赖
mvn dependency:copy-dependencies copy 依赖jar
国内的maven镜像,欢迎大家使用!
访问地址:
release镜像库访问地址:http://58.20.54.58/content/groups/treleases
snapshot镜像库访问地址:http://58.20.54.58/content/groups/tsnapshots/
目前加入到镜像库的远程仓库有:
http://svn.apache.org/repos/asf/servicemix/m2-repo
http://repository.apache.org/snapshots
https://repository.apache.org/content/groups/public
http://www.aqute.biz/repo/
http://snapshots.repository.codehaus.org/
http://download.eclipse.org/rt/eclipselink/maven.repo
http://el4.elca-services.ch/el4j/maven2repository
http://maven.glassfish.org/content/groups/glassfish
http://repository.jboss.com/maven2
http://repo1.maven.org/maven2/
http://maven.objectweb.org/maven2/
http://deadlock.netbeans.org/maven2
http://maven.objectweb.org/maven2-snapshot
http://developer.ja-sig.org/maven2-snapshot
如在使用中发现某些jar包不在此镜像中或想使用某个仓库请与我联系
我将即时将其加入到本镜像中
联系方式:
lsw_fly@hotmail.com
===============================================================
MVN:指定编译时的文字编码和语法级别
方法1,
<build>
<defaultGoal>package</defaultGoal>
<plugins>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.6</source>
<target>1.6</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
</plugins>
</build>
方法2,
<properties>
<maven.compiler.encoding>UTF-8</maven.compiler.encoding>
<maven.compiler.target>1.6</maven.compiler.target>
<maven.compiler.source>1.6</maven.compiler.source>
</properties>
忽略单元测试失败:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<testFailureIgnore>true</testFailureIgnore>
</configuration>
</plugin>
</plugins>
</build>
跳过单元测试:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
</plugins>
</build>
为自定义JSP标签添加JSP 2.0规格说明:
<dependency>
<groupId>org.apache.geronimo.specs</groupId>
<artifactId>geronimo-jsp_2.0_spec</artifactId>
<version>1.1</version>
<scope>provided</scope>
</dependency>
管理依赖
在 pom 中指明 dependency management 元素的方式 maven 结合项目继承来管理依赖。在多模块应用中,可能多个子项目会有共同的依赖。此时为了正确运行,必须让所有的子项目使用依赖项的同一版本。必须确保应用的各个项目的依赖项和版本一致,才能保证测试的和发布的是相同的成果。因此,应在顶层的 pom 中定义共同的依赖关系。
顶层 pom 中的 dependencies 与 dependencyManagement 中的 dependencies 元素有一个重要的区别:
dependencyManagement 中的 dependencies 元素只表明依赖项版本的优先选择,并不影响项目的依赖项;而 dependencies 元素则影响项目的依赖项。
===================================================================
http://www.sonatype.com/books/maven-book/reference_zh/public-book.html
Maven持续集成最佳实践
译自:http://blogs.sonatype.com/people/2009/01/maven-continuous-integration-best-practices/
持续集成是你在开发过程中经常会用到的一个最佳实践,它是高效软件开发生命周期(SLDC)至关重要的一部分。如果还没使用这一实践,那么应该立刻就开始使用。持续集成最大的好处是,它能帮你立刻找出引入到系统中的错误,而不是在很多天之后看到测试失败,或者在QA阶段再发现重大错误。本文并不是要介绍CI的优点,本文是介绍如何建立一个最佳的使用Maven的CI环境。这里是一些关于如何在一个CI系统(如Hudson)中运行Maven构建的贴士。
#1 自动化Snapshot部署
按照我的经验,最好让CI系统部署你的snapshot。这是保证仓库内容和源码控制系统保持同步的最可靠的方法。要在实践中使用这种方法,你需要结合CI和仓库管理器,如Nexus ,它能自动的清除snapshot。我管理过一个项目,它在不到一周的时间内生成了>300gb的snapshot。使用一个仓库管理器会让你保持稳健。
#2 隔离本地仓库
另一个CI设置至关重要的组成部分是本地仓库隔离。Maven中的本地仓库是放置所有Maven下载和生成的构件的地方,并且当前它不是多线程安全的。虽然产生冲突的可能性很小,但它还是会发生的。
让每个项目有一个本地仓库最主要的原因是,这是测试你的项目是否基于公司仓库可构建的唯一方法。如果你没有单独的本地仓库,那么一个构建的产品即使不在公司仓库中,也还会被CI上另一个构建看到。这里说的很重要,因为CI的一个功能是,它应该能够验证代码对于一个真实的开发者来说是可构建的。
提示:使用 -Dmaven.repo.local=xxx 来为每个构建定义唯一的本地仓库。
#3 周期性的清除本地仓库
为了进一步的验证仓库的内容,以及管理硬盘空间,我每晚都清除本地仓库。如果仓库有变化或者构件被移除了,CI系统会检测到。为了方便的清除所有本地仓库,我倾向于将所有本地仓库组织到同一个目录下,如 /opt/repos/*。
很显然拥有多个本地仓库比起一个仓库来说需要更多的硬盘空间,因为有很多依赖的重复,但即使在我们的大型grid 上,所有的仓库的总大小也不到10gb。当你不控制snapshot,也不每晚清除仓库,不保持对它的控制,本地仓库就会慢慢的变得巨大。
提示:使用你的CI系统本身来安排本地仓库清理。这样当Maven糊涂的时候,任何人都可以手动的从UI上清理仓库。
久而久之,我也发现了一些更简单的技巧:
#4 开启批处理模式
提示:在构建中开启 -B(batch,批处理)模式。这会让日志变短,因为这避免了依赖下载过程的日志。这也能确保构建不会因为等待用户输入而挂起。
#5 开启完全堆栈跟踪
提示:开启 -e 能让Maven在遇到构建异常的时候产生完全的堆栈跟踪信息。这让我们更容易根据构建失败结构的日志或者email中理解问题,而不用重新构建一次。
#6 打印测试失败至标准输出
提示:开启 -Dsurefire.useFile=false 。这是我最喜欢的选项之一,因为它能让surefire打印测试失败到标准输出,因此也就能被包含在构建失败日志或email中。这样就节省了你的时间,不用再为了一个简单的堆栈日志去机器上寻找surefire报告。
#7 总是检查Snapshot
提示:开启 -U 让Maven总是最检查新的snapshot。该选项同样也可以在CI系统的setting.xml中开启。(提示4和6同样也可以在settings.xml中声明)
小结
使用上述的设置和过程会让每次build都将构件推入仓库中。接下来下游的build会有其自己的干净的本地仓库,然后检测仓库管理器以获取最新的snapshot。然后每天至少一次,本地所有的东西都被清除,所有的依赖都从仓库管理器抓取。
自然的,所有这些更新的清除工作都会给CI和仓库管理器之间的网络带来一些负荷。如果它们共享一个高速的网络,那么没什么问题。但如果你的仓库管理器和CI系统并不靠近,那么你应该在CI系统旁放一个仓库管理器,它代理远处的仓库,并能消除网络对每日本地仓库清理的影响。
注意: 如果你想要遵循这些提示,那么很重要的一点是下载一个Nexus 。清除你本地仓库的内容,每天每个项目都从中央仓库下载所有依赖,会造成中央Maven仓库的网络拥堵。
注: 在settings.xml中开启4,6,7:
#4: <interactiveMode>false</interactiveMode>
#6: <properties><surefire.useFile>true</surefire.useFile></properties> —— 在actived profile中
#7: <updatePolicy>always</updatePolicy> —— 在repository定义中
发表评论
-
连接池exception GetConnectionTimeoutException get/close not same thread
2015-09-24 14:44 7120环境 hibernate 4.2.0.Final sp ... -
tomcat 7 应用不能访问 及 配置管理界面
2015-09-16 15:26 2746tomcat 7 应用不能访问 及 配置管理界面 ... -
iteye blog 备份
2015-06-01 11:03 1192以前javaeye有博客导出成pdf的功能, 现在这个功能 ... -
jaxb xml 解析出 list对象
2015-03-26 16:29 10612jaxb想直接解析出list对象, 不用在list对象上再去 ... -
jvm notes
2014-12-16 15:19 1689运行时数据区 program counter re ... -
string split 空字符串问题
2014-09-02 15:02 1936String str="123,123,,1 ... -
IntelliJ IDEA keys
2014-05-29 15:35 1187open type Ctrl+N open ... -
POI excel 触发 公式 计算 删除空白行
2013-04-15 12:44 5084用POI api修改excel 表格数据后, 想触发计算公式 ... -
javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated 异常处理
2013-01-05 14:13 3212引用: http://javaskeleton.blogs ... -
MD5 SHA1 Base64 HmacSHA1
2012-10-26 14:23 2178MD5 SHA1 import java.securi ... -
struts2 jsp 禁止 直接 访问
2011-10-13 14:16 3145想要禁止 struts2 应用中 部分jsp 的 直接访问 ... -
jboss-log4j.xml
2011-09-22 17:42 3171使用 jboss_home/server/default/co ... -
jboss 映射 url 虚拟目录 设置system property
2011-08-31 12:56 2194jboss 4.2.3 在[jboss home ... -
jboss 连接池 scheduler
2011-08-04 19:13 1570将oracle-ds.xml 放到 jboss_home\s ... -
jboss Caused by: LifecycleException: Error initializaing : javax.management.R
2011-08-04 14:55 2313Caused by: LifecycleException: ... -
axis2 spring pojo 集成
2011-04-28 15:28 2491之前写的 http://renxiangzyq.iteye.c ... -
wsdl axis2 spring
2011-04-28 11:12 3310WSDL 文档是利用这些主要的元素来描述某个 web s ... -
apache jboss ssl 配置
2011-03-10 19:37 1599httpd.conf Include "co ... -
cron 表达式
2010-12-13 17:47 1132http://sosuny.iteye.com/blog/46 ... -
资源文件转码
2010-10-27 14:54 1197GBK to utf-8 native2ascii ...
相关推荐
Maven Study 完整的Maven学习资料!
3. **选择项目**:在弹出的对话框中选择之前生成的 Maven 项目目录,例如 `D:\eclipse\workspace\study`,最后点击 `Finish`。 至此,我们就成功地使用 Maven 创建了一个简单的 Java 项目,并导入到了 Eclipse 中。...
本文对应博客:...Maven 项目,需要在项目 settings.xml 中增加配置 <pluginGroup>org.mortbay.jetty Maven 命令启动 jetty:run 后访问 http://localhost:8085/study/
"Maven-study" 项目提供了学习和实践Maven的机会。通过阅读项目中的Wiki,可以深入理解Maven的概念和用法。实际操作部分可能包括创建项目、编写POM、管理依赖、自定义构建过程等,这些都将有助于提升你在Java开发中...
** Maven基础入门 ** Maven是一个Java项目管理工具,它主要负责构建、依赖管理和项目信息管理。...在`maven_study_01`的学习笔记中,你可以找到更多关于Maven的基础知识和实践案例,帮助你快速上手并掌握这一工具。
本教程将详细介绍如何使用Maven作为构建工具,结合SpringMvc和Mybatis两大流行框架,搭建一个简洁的Demo项目。这个项目只有一个数据表,非常适合初学者理解和实践。 首先,我们需要了解Maven。Maven是一个强大的...
<groupId>com.study.wordcount</groupId> <artifactId>WordCount3 <version>1.0-SNAPSHOT <groupId>org.apache.spark <artifactId>spark-core_2.11 <version>2.2.0 ``` 这里的`<groupId>`、`...
在`maven_study-master`这个压缩包中,我们可以期待找到一系列关于 Maven 学习的资源,可能包括示例项目、教程文档或者脚本。这些资料可能会涵盖以下主题: 1. **Maven基本概念**:介绍Maven的核心概念,如POM、...
- **示例**:例如,在示例代码中,`<groupId>cn.javass.study</groupId>`、`<artifactId>hello-world</artifactId>`和`<version>1.0-SNAPSHOT</version>`就构成了该构件的坐标。 #### 3. 项目生命周期(Project ...
<groupId>cn.javass.study</groupId> <artifactId>hello-world <version>1.0-SNAPSHOT <name>MavenQuickStartArchetype <groupId>junit <artifactId>junit <version>4.12 <scope>test ``` - **...
Maven is a new project management and comprehension tool which provides an elegant way to share build logic across projects. In terms of capabilities, Maven is an improvement to Apache Ant-thanks to ...
- **执行创建命令**:在工作目录下运行`mvn archetype:create`,指定`groupId`和`artifactId`,例如`com.efn`和`study`。 - **工程结构生成**:Maven自动生成包含`pom.xml`和`src`目录结构的工程,其中`src/main/...
这个名为“maven+ssm+freemarker+redis+study.zip”的压缩包文件,显然代表了一个使用了多种技术进行开发的项目实战案例。下面,我们将逐一解析其中涉及的关键技术点。 首先,`Maven`是Java开发中的一个项目管理和...
导入完成后,启用Maven支持,右键点击工程,选择Maven -> Enable,配置Group Id为 `study`。此时,工程将能够识别pom.xml中的配置,自动管理依赖和构建过程。 总的来说,Maven通过其强大的依赖管理和标准化的构建...
Maven仓库阿里云-- 是否开启发布版构件下载 -->-- 是否开启快照版构件下载 -->maven镜像配置就算配置了多个镜像地址,也只会有一个生效,如果在项
2. 在弹出的对话框中,输入 "Group Id" 为 "study",这样 Eclipse 就会理解这个项目是一个 Maven 项目。 3. 打开 `pom.xml` 文件,这是 Maven 的核心配置文件,用于定义项目信息、依赖关系和构建过程。 **六、理解...
5. **项目结构**:在"spring-mvc-study"这个项目中,通常会包含src/main/java目录下的源代码,src/main/resources下的资源配置,以及src/main/webapp/WEB-INF下的web.xml(虽然在Spring Boot中,web.xml不是必需的)...
-- tomcat虚拟映射路径 -->1.2 下载并解压当前目录下的tomcat7-maven-plugin压缩文件到本地仓库覆盖掉本地仓库中的tomcat7-