- 浏览: 99111 次
- 来自: ...
文章分类
最新评论
-
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 734打开.project文件,从其他可以有运行main的地方c ... -
通过hql控制hibernate一对多的集合属性的排序
2016-05-29 14:57 673【问题】 当hibernate实体中存在一对多关系集合 ... -
spket 自定义js编辑器格式/破解
2015-01-30 15:48 840解决方法:spket 找到plugins里面的com.sp ... -
java date 归一化"天"
2012-09-16 11:35 2573java中date只是用来表示日期,一直认为和时区没有关系;实 ... -
java删除(替换)不可见的unicode/utf-8字符(主要是html显示不了的字符)
2012-03-06 15:25 19872今天遇到一个问题,由于编辑人员从excel等7788的地方co ... -
putty记住密码登陆的解决方案(autoputty+pietty+winscp)
2012-01-12 14:05 7446一直以来都觉得putty的界面很舒服,不过碍于他不能记住密码也 ... -
二元二次 - 有待通用化为N元N次
2009-06-18 09:17 907function Formula(){ this.a = ... -
gson 1.3 vs json-lib
2009-09-24 14:23 1191今天json-lib 0.6又爆了一个错误,说什么没有set方 ... -
使用jdk的executorservice+future来执行批量操作,节省处理时间
2009-11-05 18:55 1109ThreadPoolExecutor executor = n ... -
office打开老是报宏安全性错误什么的
2010-07-20 16:33 723打开WORD,点击OFFICE按钮,WORD选项,加载项,最下 ... -
java Excel 工具(修改excel表格并保存)
2010-09-27 17:32 1848最近搞excel,用到JXL 。然后读写的时候遇到问题 -- ... -
java unicode转换代码
2010-11-08 15:48 744static Pattern p = Pattern.comp ... -
测试字符串替换速度
2011-06-10 13:42 853private static String escape(St ... -
oracle 索引出错解决方法
2011-07-27 11:01 913【jdbc的错误】ORA-01502: index 'XXXX ... -
eclipse JEE 实战(maven+server)
2011-12-14 15:42 3627由头 换了新机器 ...
相关推荐
《Eclipse JEE 2020-06 R Win32 x86_64:集成开发环境的深度解析》 Eclipse JEE 2020-06 R Win32 x86_64是专为Windows 32位及64位平台设计的一款强大的Java集成开发环境(IDE),特别适用于企业级Java应用的开发。...
Eclipse是一款流行的开源软件,主要用于Java和其他编程语言的开发,尤其是对于Java企业版(Java Enterprise Edition,简称JEE)的支持。 描述中的 "eclipse-jee-2021-06-R-win32-x86_64.zip" 与标题相同,暗示这个...
7. **插件扩展**:Eclipse的开放性允许用户安装各种第三方插件,扩展其功能,如Maven、Spring、MyEclipse等。 下载并解压Eclipse JEE 2021-12 RC1 Win32 x86_64.zip后,你可以找到名为“eclipse”的文件夹,里面...
"eclipse-jee-helios-SR1-win32-x86_64" 是Eclipse针对Java企业版(Java Enterprise Edition, JEE)的一个特定版本,名为Helios Service Release 1,适用于64位的Windows操作系统。 Helios是Eclipse的一个重要版本...
6. **压缩包内容**: "eclipse"是压缩包中的主要文件,解压后会得到Eclipse IDE的启动程序和所有相关文件。这个文件夹通常包括工作台(workspace)、插件、配置文件以及启动脚本等,使得用户可以直接运行Eclipse进行...
在Eclipse-JEE-2021-03-R-win32-x86_64.zip压缩包中,"eclipse"文件应该包含整个Eclipse IDE的结构,包括工作台、视图、编辑器、透视图等组件。在安装和使用过程中,用户可以自定义布局,选择适合自己的开发环境。 ...
- 打开 Eclipse,依次选择 `Window > Preferences > Maven`(如果是 MyEclipse,则操作路径相似)。 - 进行 Maven 的相关配置,包括设置 Maven 的用户设置文件(即前面提到的 `settings.xml` 文件路径)、配置 Maven...
同时,Eclipse作为一个高度可扩展的平台,用户可以通过Eclipse Marketplace或其他途径安装各种插件,以满足特定的开发需求,如Spring工具集、MyEclipse、Git客户端等。 在使用Eclipse时,了解基本的操作如创建项目...
在本文档中,我们将深入探讨如何使用Eclipse和MyEclipse这两个强大的集成开发环境(IDE)来开发Web项目。这些IDE是Java开发者的重要工具,尤其在构建Web应用程序时,它们提供了丰富的功能和高效的工作流程。 1. **...
Eclipse是一款广受欢迎的开源集成开发环境(IDE),主要用于Java编程,同时也支持其他语言如C++, Python等。这里我们讨论的是64位版本的Eclipse Oxygen,它在开发社区中因其稳定性和丰富的功能集而备受推崇。...
如遇eclipse.exe启动错误,修改eclipse.ini文件,移除不适用的配置行。 通过上述步骤,开发者可以有效地配置Myeclipse以优化JBPM4.0的工作流开发环境,确保各组件之间协调工作,提升开发效率和项目质量。
Eclipse的插件如MyEclipse或Maven可以方便地集成Spring Boot(Ruoyi可能基于的后端框架)和MySQL驱动,帮助开发者快速构建数据库连接和执行SQL语句。此外,Eclipse的版本控制系统集成(如Git)可协助团队协作,确保...
通过下载并安装`eclipse-jee-neon-2-win32-x86_64`这个压缩包,开发者可以获得一个配置好的Eclipse IDE,专为JavaEE开发设计,可以直接开始构建和管理复杂的业务应用。 在实际开发过程中,配合Eclipse的其他插件,...
标题所揭示的知识点主要包括了OA办公系统开发中所采用的技术栈,以及系统的特点。描述部分则详细介绍了整个系统的开发环境、框架依赖、前后...开发工具推荐使用Eclipsejee 4.9.0版,虽然不再支持太老版本的MyEclipse。