Just Do It!
2008年4月23日 #
一般在Windows的软件大部分安装在c:\ Program Files下面,比如我机器上的Java位置就是C:\Program Files\Java\jdk1.5.0_12,假如如果你在批处理中调用java或者javaw,会这么写: set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12 set EXE_JAVA=%JAVA_HOME%\bin\java %EXE_JAVA% -version 那样会报告一个错误: 'C:\Program' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 以前为了避免这种问题,会把把JDK挪到c:\,但不是一个通用的解决办法,现在可以采用两种方式来解决: 1 加上引号,表示一个完整路径,这个在好多服务器批处理中常用到比如jboss, tomcat。 set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12 set EXE_JAVA="%JAVA_HOME%"\bin\java %EXE_JAVA% -version 2 转成短路径,这个我认为是最好的解决办法。 set JAVA_HOME=C:\Program Files\Java\jdk1.5.0_12 for %x in ("%JAVA_HOME%") do set JAVA_HOME=%~sx set EXE_JAVA=%JAVA_HOME%\bin\java %EXE_JAVA% -version 需要注意的是,在批处理文件比如 run.bat 中,上面的for语句的变量有两个%%号。 for %%x in ("%JAVA_HOME%") do set JAVA_HOME=%%~sx
2008年4月13日 #
对比一下,可以发现:
虽然目的达到了,还是要鄙视微软的dos batch,实在很弱,不知Powershell怎样。
参考资料: setlocal
2008年4月11日 #
插件源代码下载 (导入插件在workspace中,右键export->Plug-in Development->Deployable plug-ins and fragments,然后生成插件binar文件) 二进制包下载 (因为blogjava不许上传jar文件,请下载后将zip后缀改为jar后缀然后拷贝到eclipse/plugins目录) 一般在使用Eclipse过程中会有两种跟文件编码(charset)有关的情况让我们不愉快。 1 导入一个项目。 假设你的同事做好了一个项目,为了更好的支持国际化,里面的jsp页面都采用UTF-8,然后发给你,你导入到Eclipse的workspace中,一般情况下,在Eclipse中,这些jsp都变成了GBK编码,你双击打开,一堆乱码。假设你知道原因,稍微如下设置一下可以解决问题: (图1 设置文件编码) 但是,这个项目可能包含1000个jsp文件,且你还可能反反复复碰到这个问题,真是一个体力活。 2 改变一个项目文件的编码 这种情况发生比较少,但发生了就是一个大难题。比如公司有两个团队,一个开发的项目jsp采用UTF-8编码,另外一个采用GBK编码。一段时间之后,需要整合两个项目,jsp页面只能采用一种编码,UTF-8/GBK或其它。有经验的人知道这是一个拷贝/设置编码/粘贴的过程: 2.1 将某个jsp的内容全部拷贝下来。 2.2 如图1所示将编码设置为统一编码如UTF-8。 2.3 把设置过编码的jsp文件清空,然后粘贴。 好像解决问题很完美,但是Eclipse没有宏,如果文件很多,比如2000个,将是一个恐怖的任务。 因为这两个问题老是反复的困扰着我的同事,相信也困扰了不少Java开发者,Eclipse转码插件很好很方便的解决了这个问题,它基于Eclipse 3.3开发,所以编译环境最好采用Eclipse 3.3。 下面是使用步骤 step1. 将插件com.lifesting.tool.encoding_1.0.0.jar拷贝到eclipse/plugins目录下,重启Eclipse。 step2. 选择某个项目,右键选择properties,然后点击Convert Setting进行转码规则设置,如下图:
2008年4月2日 #
2008年3月31日 #
下载插件源代码(eclipse 3.3)
下载eclipse 3.2 binary下载后改后缀zip为jar,然后放到eclipse/plugins目录
eclipse内置一个properties editor但是只支持latin-1编码,调用native2ascii太麻烦,sourceforge上有一个很强大的properties editor,日本人搞得,肯定支持中文了,但是版本太老,3.1,还有很多没有什么多大用处的swing, jbuild支持等,我稍微改了一下,做了一个最小化的编辑器。 严正申明,此软件属于研究性质,版权属于原作者:http://propedit.sourceforge.jp/index_en.html 效果: 下载后将工程导入到workspace中,export成plugin即可。
起因: 把continuum.war解压缩到jboss deploy下部署,当continuum build项目的时候不能发送邮件,修改配置,发送邮件失败。 解决方案: 1 不能发送邮件 打开continuum.war下WEB-INF/classes/META-INF/plexus/application.xml,定位到注释"The mail notifier",修改configuration下节点<alwaysSend>值为true 2 发送邮件失败,提示无法通过验证。 通过分析continuum源代码得知,为支持smtps和tls,发送邮件使用Transport send方法要从mail session中获得配置的用户名和密码,而由于continuum使用的是jboss 的mail-service.xml配置的mail session,但这个jboss初始化的mail session factory session不包括user和password的配置信息,jboss更倾向于我们使用Transport.send(Message)来发送邮件。解决这个矛盾的方法就是在mail-service.xml加入配置信息,可以解决问题,美中不足的就是有两套用户名/密码配置,配置如下:
<?xml version="1.0" encoding="UTF-8"?> <!-- $Id: mail-service.xml 62349 2007-04-15 16:48:15Z dimitris@jboss.org $ --> <server>
<mbean code="org.jboss.mail.MailService" name="jboss:service=Mail"> <attribute name="JNDIName">java:/Mail</attribute> <attribute name="User">chenbangyi@corp.leadtone.com</attribute> <attribute name="Password">hidden</attribute> <attribute name="Configuration"> <!-- A test configuration --> <configuration> <!-- Change to your mail server prototocol --> <property name="mail.store.protocol" value="pop3"/> <property name="mail.transport.protocol" value="smtp"/>
<!-- Change to the user who will receive mail --> <property name="mail.user" value="chenbangyi@corp.leadtone.com"/>
<!-- Change to the mail server --> <property name="mail.pop3.host" value="corp.leadtone.com"/>
<!-- Change to the SMTP gateway server --> <property name="mail.smtp.host" value="corp.leadtone.com"/> <!-- The mail server port --> <property name="mail.smtp.port" value="25"/> <!-- Change to the address mail will be from --> <property name="mail.from" value="chenbangyi@corp.leadtone.com"/> <property name="mail.smtp.auth" value="true"/> <property name="mail.smtp.user" value="chenbangyi"/> <property name="password" value="hidden"/> <!-- Enable debugging output from the javamail classes --> <property name="mail.debug" value="true"/> </configuration> </attribute> <depends>jboss:service=Naming</depends> </mbean>
</server> 如果发送需要验证,使用黑体配置。
Copyright @ Always BaNg. Powered by: .Text and ASP.NET Theme by: .NET Monster