- 浏览: 95953 次
- 来自: ...
文章分类
最新评论
-
yrandy:
...
java删除(替换)不可见的unicode/utf-8字符(主要是html显示不了的字符) -
shanyanzhou:
非常感谢 [color=red][/color]
获取浏览器选中区域内容的js
以下是用来将myeclipse(或者其他没有加maven配置的工程)的工程文件装换到最新的m2eclipse插件所能识别的格式,
简单来说就是修改.project和.classpath
使用方法:
1. 在workspace任意层级下(当然啦,这个workspace的名字要包含"workspace"字样),运行: java EclipseM2Patch
2. 在任意目录下指定workspace目录,运行: java EclipseM2Patch /java/workspace
运行后将会对workspace下的所有需要patch工程文件进行patch,如果不满意还可以回滚,满意就删除所有备份文件。
import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.InputStreamReader; import java.util.ArrayList; public class EclipseM2Patch { private static String fileToString(File f) throws Exception { byte[] bytes = fileToBytes(f); if (bytes.length == 0) return null; return new String(bytes, "iso-8859-1"); } private static byte[] fileToBytes(File f) throws Exception { if (!f.exists()) return null; FileInputStream fis = null; byte[] all = new byte[0]; try { byte[] buf = new byte[1024]; fis = new FileInputStream(f); int read = -1; while ((read = fis.read(buf)) != -1) { byte[] tmp = new byte[all.length + read]; if (all.length > 0) System.arraycopy(all, 0, tmp, 0, all.length); System.arraycopy(buf, 0, tmp, all.length, read); all = tmp; } } finally { if (fis != null) fis.close(); } return all; } private static void write(File f, String content) throws Exception { FileOutputStream fos = new FileOutputStream(f); try { fos.write(content.getBytes("iso-8859-1")); } finally { fos.close(); } } private static File backup(File f) throws Exception { byte[] bytes = fileToBytes(f); if (bytes.length > 0) { File backupfile = new File(f.getAbsoluteFile() + ".patchbackup"); FileOutputStream fos = new FileOutputStream(backupfile); try { fos.write(bytes); } finally { fos.close(); } return backupfile; } return null; } public static void main(String[] args) throws Exception { String workspacepath = args.length == 0 ? null : args[0]; if (workspacepath == null) { File file = new File("."); String p = file.getAbsolutePath().replaceAll("(?i)(workspace[^\\\\/]+).*", "$1"); if (p.length() != file.getAbsolutePath().length()) { workspacepath = p; } } if (workspacepath == null) { throw new IllegalAccessException(); } ArrayList<File> backups = new ArrayList<File>(); File workspace = new File(workspacepath); for (File projectBaseDir : workspace.listFiles()) { if (projectBaseDir.isDirectory() && projectBaseDir.getName().matches("^\\p{Alpha}[\\p{Alpha}_-]+$")) { File _project = new File(projectBaseDir, ".project"); File _classpath = new File(projectBaseDir, ".classpath"); if (_project.exists()) { String content = fileToString(_project); String addToContent = "<nature>org.eclipse.m2e.core.maven2Nature</nature>"; if (!content.contains(addToContent)) { File backupfile = backup(_project); if (backupfile != null) backups.add(backupfile); content = content.replaceAll("(?im)(\\s+)(?=</natures>)", "$1\t" + addToContent + "$1"); write(_project, content); System.out.println("file:" + _project + " - patched"); } else { File backupfile = new File(_project.getAbsoluteFile() + ".patchbackup"); if (backupfile.exists()) { backups.add(backupfile); } } } if (_classpath.exists()) { String content = fileToString(_classpath); String addToContent = "<classpathentry kind=\"con\" path=\"org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER\"/>"; if (!content.contains("org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER")) { File backupfile = backup(_classpath); if (backupfile != null) backups.add(backupfile); content = content.replaceAll("(?im)(\\s+)(?=</classpath>)", "$1\t" + addToContent + "$1"); write(_classpath, content); System.out.println("file:" + _classpath + " - patched"); } else { File backupfile = new File(_classpath.getAbsoluteFile() + ".patchbackup"); if (backupfile.exists()) { backups.add(backupfile); } } } } } BufferedReader rd = new BufferedReader(new InputStreamReader(System.in)); String line = null; if (backups.size() > 0) { System.out.println(">Delete all backups?(Y-yes/N-no/R-rollback)"); line = rd.readLine(); for (File f : backups) { if ("y".equalsIgnoreCase(line)) { boolean delete = f.delete(); System.out.println("Delete file:" + f + " - " + (delete ? "ok" : "fail")); } else if ("r".equalsIgnoreCase(line)) { File file = new File(f.getAbsolutePath().replace(".patchbackup", "")); boolean result = file.delete(); if (result) result = f.renameTo(file); System.out.println("Rollback file:" + f + " - " + (result ? "ok" : "fail")); } } } System.out.println(">Press any key to continue..."); line = rd.readLine(); rd.close(); } }
发表评论
-
eclipse maven项目运行时报错could not find the main class的解决办法
2017-05-03 14:35 678打开.project文件,从其他可以有运行main的地方c ... -
通过hql控制hibernate一对多的集合属性的排序
2016-05-29 14:57 635【问题】 当hibernate实体中存在一对多关系集合 ... -
spket 自定义js编辑器格式/破解
2015-01-30 15:48 797解决方法:spket 找到plugins里面的com.sp ... -
java date 归一化"天"
2012-09-16 11:35 2532java中date只是用来表示日期,一直认为和时区没有关系;实 ... -
java删除(替换)不可见的unicode/utf-8字符(主要是html显示不了的字符)
2012-03-06 15:25 19660今天遇到一个问题,由于编辑人员从excel等7788的地方co ... -
putty记住密码登陆的解决方案(autoputty+pietty+winscp)
2012-01-12 14:05 7350一直以来都觉得putty的界面很舒服,不过碍于他不能记住密码也 ... -
二元二次 - 有待通用化为N元N次
2009-06-18 09:17 876function Formula(){ this.a = ... -
gson 1.3 vs json-lib
2009-09-24 14:23 1145今天json-lib 0.6又爆了一个错误,说什么没有set方 ... -
使用jdk的executorservice+future来执行批量操作,节省处理时间
2009-11-05 18:55 1068ThreadPoolExecutor executor = n ... -
office打开老是报宏安全性错误什么的
2010-07-20 16:33 682打开WORD,点击OFFICE按钮,WORD选项,加载项,最下 ... -
java Excel 工具(修改excel表格并保存)
2010-09-27 17:32 1786最近搞excel,用到JXL 。然后读写的时候遇到问题 -- ... -
java unicode转换代码
2010-11-08 15:48 681static Pattern p = Pattern.comp ... -
测试字符串替换速度
2011-06-10 13:42 817private static String escape(St ... -
oracle 索引出错解决方法
2011-07-27 11:01 845【jdbc的错误】ORA-01502: index 'XXXX ... -
eclipse JEE 实战(maven+server)
2011-12-14 15:42 3576由头 换了新机器 ...
相关推荐
myeclipse工程转eclipse工程
myeclipse项目转换成eclipse,将web工程转化到eclipse下
MyEclipse、Eclipse反编译Class文件工具:反编译Class文件的工具,反编译之后就可以查看class的源代码。
在myeclipse或eclipse中导入注释文件和格式文件,便于编码规范
myeclipse或者eclipse打开.class文件
MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译MyEclipse/Eclipse不编译
eclipse,myeclipse安装maven,直接在eclipse,myeclipse安装目录下替换文件,无需安装
(此方法同适用于eclipse,本文在myeclipse10下...3、安装,在F:\android-windows-x86_64\myeclipse\MyEclipse 10\dropins下新建一个m2clipese.txt文件,里面内容为path=F:/tools/eclipse-plugins/m2eclipse,重启即可。
MyEclipse、Eclipse代码提示功能 MyEclipse、Eclipse代码提示功能 MyEclipse、Eclipse代码提示功能 MyEclipse、Eclipse代码提示功能 MyEclipse、Eclipse代码提示功能 MyEclipse、Eclipse代码提示功能 MyEclipse、...
如果没有,则需要关闭Eclipse(MyEclipse),然后把Eclipse(或者MyEclipse/eclipse)目录下的configuration目录里除了config.ini文件之外的所有目录和文件删除,这样就可以清除以前的配置,再重新启动Eclipse(MyEclipse...
myeclipse集成tongweb开发
本人卸载了Myeclipse8.5自带的恶心maven,在线安装n次失败,无奈之下找离线版本的,本人找了又找,看了又看,花了九牛二虎之力,终于终于找到一个离线版本的maven了,别嫌弃分数高,确实给力的,下载完记得好评噢!
Myeclipse/eclipse 安装反编译文件和教程; 包含net.sf.jadclipse_3.3.jar 和 jad.exe 包含部署教程
解压后的文件复制拷贝到myeclipse/eclipse的安装路径dropins下,重启就好了。
1 下载apache-maven-3.3.9并解压 2 配置maven环境变量 (1)在系统变量栏新建变量 (2)编辑系统变量的Path,结尾添加 ;%MAVEN_HOME%\bin(注意分号) ...以上就将maven配置到了myeclipse中,就可以新建maven工程
MyEclipse,Eclipse下javascript插件,配置就可以使用
eclipse-maven3-plugin插件 包含apache-maven-3.3.9和eclipse-maven3-plugin
myeclipse 上安装 Maven3,教你如何配置 maven结合myeclipse使用。maven项目开发必配项
今天重新搭建开发环境,就顺便把Myeclipse升级到了2013,点击下载Myeclipse2013。惯例,需要长久使用Myeclipse2013的话需要购买...Myeclipse破解补丁+中文补丁+Myeclipse 2013 专业版离线安装包。自己亲测正在使用的。
文件包含安装Maven的Eclipse插件m2e、MyEclipse的Maven配置等过程,详细且简明