- 浏览: 374686 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
surpassno:
很不错,学习了
一个对象占用多少字节? -
ysyzww:
你这么牛逼,你父母知道吗
maven使用技巧 -
妖人不要跑:
JDK中反序列化对象的过程(ObjectInputStream#readObject) -
lanhz:
谢楼主,构建成功了
Mac OSX 10.9 上build openjdk8和openjdk7 -
zqb666kkk:
通过了吗 ?????
淘宝北京专场java面试题(2011-12-31)
1、虚拟盘
如果做java开发的时候,开发环境、产品jar包、产品代码有好几个G,目录也比较多的时候,似乎把整个环境虚拟成一个虚拟盘是个不错的选择。如下,把我一个project虚拟成了X盘(setX.bat):
虚拟成X盘之后,可以像操纵普通的盘区一样操作X盘了。在此刻看来只是简化了访问的路径,不过如果你遇到过因为classpath过长导致的CreateProcess error的时候,如下:
你会发现,虚拟盘也不失为一种解决问题的办法,比起自己写classloader,简便多了。
2、构造eclipse的userlibraries
如果在项目或者产品中,发现用到了太多的jar包,甚至可能这些包又被分为了多类,如第三方包、产品平台的包、标准产品业务功能的包、行业产品的包,那么如果通过eclipse里头一个一个的添加jar包,可不是人干的事,动辄几百的jar包,一个个的添加。而另外还可能随着产品的开发,新加入的包,通过手工加入jar包显然不是有效的解决办法。如果有种自动的办法可以生成一个eclipse里的userlibraries,那就不错了。下边就介绍这么一种方法(在进行一下操作之前,请确保ant和perl已经安装并设置了环境变量):
2.1、通过ant把需要处理的jar目录包括进来(build_library.xml):
此处,我把所有jar包放到了X盘的lib目录,当然,根据你的需要,你可以分成thirdpart、platform、standard、industry等多个target,放入到多个文件中在后边使用。
2.2、通过perl把2.1生成的userlibraries格式化为eclipse中标准的userlibraries(power_tool.pl):
里边用到了perl的package(my_constants.pm),主要是统一管理一些东西,里边主要是一些变量:
2.3、生成userlibraries
通过运行perl命令,我们就可以构造出userlibraries了:
生成的userlibraries的内容如下:
2.4、更进一步的自动化
我们创建clean-build_libraries.bat批处理文件,把perl命令放入其中,我们就不用打开cmd然后敲入perl命令了,直接双击即可:
自动化构造userlibraries的功能已经完成了!
只需要在eclipse里点着项目右键,Build Path -> Add Libraries... -> User Library -> Next -> User Libraries -> Import -> Browse 选择生成的my_library.userlibraries文件,然后OK -> OK ->选择libraries -> Finish,就把library加入到了自己的project。
注:附件为源码,这个是特定于我的本地开发环境的,如果你要使用,需要修改路径。
如果做java开发的时候,开发环境、产品jar包、产品代码有好几个G,目录也比较多的时候,似乎把整个环境虚拟成一个虚拟盘是个不错的选择。如下,把我一个project虚拟成了X盘(setX.bat):
@echo off rem 如果存在X盘,则先删除 if exist X: subst /d X: rem 把E:\workspaces\workspace-java\food虚拟成X盘 subst X: E:\workspaces\workspace-java\food
虚拟成X盘之后,可以像操纵普通的盘区一样操作X盘了。在此刻看来只是简化了访问的路径,不过如果你遇到过因为classpath过长导致的CreateProcess error的时候,如下:
Exception occurred executing command line. Cannot run program "D:\Program Files\Java\jdk1.6.0_18\bin\javaw.exe" (in directory "E:\workspace\myproject"): CreateProcess error=87
你会发现,虚拟盘也不失为一种解决问题的办法,比起自己写classloader,简便多了。
2、构造eclipse的userlibraries
如果在项目或者产品中,发现用到了太多的jar包,甚至可能这些包又被分为了多类,如第三方包、产品平台的包、标准产品业务功能的包、行业产品的包,那么如果通过eclipse里头一个一个的添加jar包,可不是人干的事,动辄几百的jar包,一个个的添加。而另外还可能随着产品的开发,新加入的包,通过手工加入jar包显然不是有效的解决办法。如果有种自动的办法可以生成一个eclipse里的userlibraries,那就不错了。下边就介绍这么一种方法(在进行一下操作之前,请确保ant和perl已经安装并设置了环境变量):
2.1、通过ant把需要处理的jar目录包括进来(build_library.xml):
<?xml version="1.0" encoding="utf8"?> <!--把X盘lib目录下的所有jar包路径都放进文件my_library.libiaries--> <project name="build_library" basedir="." default="make_library_file"> <path id="all_lib"> <fileset dir="X:/lib/"> <include name="**/*.jar"/> </fileset> </path> <target name="make_library_file"> <property name="lib_list" refid="all_lib"/> <echo file="my_library.userlibraries">${lib_list}</echo> </target> </project>
此处,我把所有jar包放到了X盘的lib目录,当然,根据你的需要,你可以分成thirdpart、platform、standard、industry等多个target,放入到多个文件中在后边使用。
2.2、通过perl把2.1生成的userlibraries格式化为eclipse中标准的userlibraries(power_tool.pl):
require "my_constants.pm"; #调用ant,构造userlibraries;注意 使用ant命令前必须确认ant已经加入到环境变量 system("call ant -f build_library.xml"); #读取ant写入的jar文件路径,然后关闭文件 unless(open(LIB,$my_constants::LIBRARIES_FILE_NAME)) { die "Fail to open to read $my_constants::LIBRARIES_FILE_NAME\n"; } #读取整个文件 @temp = <LIB>; close(LIB); #整合成一个字符串 $content = join("",@temp); chomp($content); #根据;号拆分成数组 @liblist = split(";",$content); #重新写入格式化的library文件 unless(open(FILE,">$my_constants::LIBRARIES_FILE_NAME")){ die "Fail to open to write $my_constants::LIBRARIES_FILE_NAME\n"; } print FILE $my_constants::LIB_HEAD; #写文件头 foreach $line (@liblist) { $line =~ s/\\/\//g; print FILE $my_constants::ARCHIVE_PATH_PART; print FILE $line; print FILE $my_constants::ARCHIVE_SRC_PART; #正则匹配出盘符、路径名和文件名,在后边设置source的时候会用到 $line =~ m/(\w):(.*)[\\\/]([\w\d-_\.]+)\.jar/g; #设置class默认链接的源代码,当然此处要根据实际情况调整源码目录或者此处的设置 print FILE "$1:/src$2"; print FILE $my_constants::SRC_END; print FILE $my_constants::ARCHIVE_END; } print FILE $my_constants::LIB_END; close(FILE);
里边用到了perl的package(my_constants.pm),主要是统一管理一些东西,里边主要是一些变量:
#放到package里 package my_constants; #eclipse里user library的格式 # #<?xml version="1.0" encoding="ASCII"?> #<eclipse-userlibraries version="1"> # <library name="lib_for_me.userlibraries" systemlibrary="false"> # <archive path="V:/lib/port-client.jar" source="V:/src/port-src.jar"/> # </library> #</eclipse-userlibraries> # # #userlibraries的名称 $LIBRARIES_FILE_NAME = "my_library.userlibraries"; #这里应该是定义多行变量吧 #这里倒数第二行TEMP与行首之间不能有空格。倒数第一行;前边可以有空格,但必须另起一行 $LIB_HEAD = <<TEMP <?xml version="1.0" encoding="ASCII"?> <eclipse-userlibraries version="1"> <library name="$LIBRARIES_FILE_NAME" systemlibrary="false"> TEMP ; $LIB_END = <<TEMP </library> </eclipse-userlibraries> TEMP ; #<archive path="X:/lib/spring-server.jar" source="V:/src/spring-src.jar"/> $ARCHIVE_PATH_PART = "\t\t<archive path=\""; $ARCHIVE_SRC_PART = "\" source=\""; $ARCHIVE_END = "\"/>\n"; $SRC_END = "-src.jar";
2.3、生成userlibraries
通过运行perl命令,我们就可以构造出userlibraries了:
perl power_tool.pl
生成的userlibraries的内容如下:
<?xml version="1.0" encoding="ASCII"?> <eclipse-userlibraries version="1"> <library name="my_library.userlibraries" systemlibrary="false"> <archive path="X:/lib/antlr/antlr-2.7.6.jar" source="X:/src/lib/antlr-src.jar"/> ... <archive path="X:/lib/toplink/toplink-essentials.jar" source="X:/src/lib/toplink-src.jar"/> </library> </eclipse-userlibraries>
2.4、更进一步的自动化
我们创建clean-build_libraries.bat批处理文件,把perl命令放入其中,我们就不用打开cmd然后敲入perl命令了,直接双击即可:
perl power_tool.pl
自动化构造userlibraries的功能已经完成了!
只需要在eclipse里点着项目右键,Build Path -> Add Libraries... -> User Library -> Next -> User Libraries -> Import -> Browse 选择生成的my_library.userlibraries文件,然后OK -> OK ->选择libraries -> Finish,就把library加入到了自己的project。
注:附件为源码,这个是特定于我的本地开发环境的,如果你要使用,需要修改路径。
- library.rar (3 KB)
- 下载次数: 17
发表评论
-
springboot程序错误排查
2016-12-12 10:37 11992.0.0版本的springboot程序,在eclipse中 ... -
debug Java进程的debug参数
2016-08-25 21:13 1596前几天给java应用设置debug参数,发现有两个参数:- ... -
Java NIO Socket通信需要考虑的问题(持续更新)
2016-04-27 19:57 281. NIO 多个线程同时往 ... -
Fastjson反序列化泛型类型时候的一个问题
2015-01-21 15:34 32279import static org.junit.Asser ... -
HTTP 50X code实例
2014-10-31 19:24 01、500 Internal Server Err ... -
一次Direct buffer memory引发的OutOfMemoryError问题排查
2014-10-28 17:22 0留坑位 -
netty3.6.2中写数据的过程,以及写数据写不出去后怎么处理
2014-08-11 17:37 3133netty写数据的时候,会先放到一个缓存队 ... -
在用Netty 3.6.2发数据,发现内核缓冲区满的时候.....
2014-08-11 16:06 2211用nettys收发网络数据的时候,一般不会注 ... -
JDK中反序列化对象的过程(ObjectInputStream#readObject)
2014-06-10 20:10 4171此处,对象描述信息即ObjectStre ... -
Mac OSX 10.9 上build openjdk8和openjdk7
2014-03-29 18:29 14276先分享下自己build出来的fastdeb ... -
内存充足情况下应用一直CMS GC的问题分析
2014-03-26 22:39 0前几天日常上线发布后,收到大量的CMS GC ... -
查看java对象在内存中的布局
2014-03-20 22:39 13060接着上篇《一个对象占用多少字节?》中遇到的 ... -
一个对象占用多少字节?
2014-03-18 21:56 35100老早之前写过一篇博客,是关于一个Integ ... -
maven使用技巧
2014-03-18 15:34 39361、pom打jar包的时候设置MANIFEST.MF的ke ... -
cpu字长、操作系统字长和jvm中各数据类型占用的字节数关系
2014-03-16 02:05 4711cpu字长是指cpu同时参与运算的二进制位 ... -
比反射更高效的修改字段值的方法
2014-03-13 20:49 1376开发过程中,不少情况下都会遇到需要通过反射 ... -
cache line对内存访问的影响
2014-03-12 20:48 1374cache line对内存访问的影响很早就 ... -
Java Web应用Web层异步化应该考虑的问题
2014-01-25 17:45 5821之前做了一 ... -
jvisualvm jmx方式远程监控tomcat
2013-10-10 20:38 19771、如果用jmx方式监控,不需运行服务器上的jstatd进 ... -
一些数据切分、缓存、rpc框架、nosql方案资料
2013-10-07 23:48 14681、数据切分 ...
相关推荐
5. **确认并保存**:返回“User Libraries”界面,你会看到新添加的库文件已列出。点击“OK”以保存设置。 6. **将User Library添加到项目**:现在你需要将创建的User Library应用到你的项目中。选择你要添加库的...
在Eclipse JEE环境下,创建一个Maven项目并将其转换为Dynamic Web Project是开发Java Web应用程序的常见步骤。Maven是一种强大的项目管理工具,而Dynamic Web Project则是Eclipse中的一个特殊项目类型,专用于Web...
Idea Project Structure 总结及如何导入 Eclipse 步骤 Idea Project Structure 是一个复杂的概念,其中包含了多个组件,例如 Project、Modules、Libraries、Facets、Artifacts 和 SDK。下面将对这些组件进行详细的...
Eclipse导入jar包不能自动归类到ReferenceLibraries下问题解决
在Java开发过程中,有时我们需要将常用的第三方库组织起来,方便在多个项目中复用,这时就可以使用"User Libraries"功能。本文将详细介绍如何创建和在项目中引用User Library。 首先,我们来创建一个User Library:...
根据你的需求,为这个User Library起一个有意义的名字,比如“SpringFramework”或“Log4j”。点击“Next >”继续。 步骤四:添加库文件 在这个新的窗口中,你可以看到“Add Jars”和“Add External Jars”两个选项...
根据提供的信息,本文将针对Eclipse使用过程中遇到的一些常见问题及其解决方案进行详细的阐述与解析,以便帮助更多开发者解决实际工作中可能遇到的技术难题。 ### Eclipse简介 Eclipse是一款免费开源的集成开发...
例如,如果JDK安装在`D:\jdk1.4`,你可以命名这个变量为`JDK_HOME`,并设置其路径为`D:\jdk1.4\jre\lib\rt.jar`。这使得Eclipse知道在哪里寻找Java运行时环境。 2. **配置Source Folder**: - 除了配置JDK,你还...
3. 在Eclipse中配置User Libraries 打开Eclipse,依次点击Window(窗口)菜单中的Preferences(首选项)选项。在弹出的对话框中,选择Java,然后是BuildPath,再接着是User Libraries,点击New(新建)按钮创建一个...
启动 Eclipse 并选择“File” > “New” > “Other”,在弹出的对话框中选择“Maven Project”。 ![添加新项目](pic1) ##### 2. 选择 Maven 项目 在出现的新窗口中选择“Maven Project”,然后点击“Next”。 !...
本文将详细介绍如何在ubuntu平台下使用eclipse CDT搭建交叉编译开发环境,包括准备相关软件安装包、安装软件包、应用程序编译、导入现存的makefile project、Qt 插件安装等几个方面的内容。 一、准备相关软件安装包...
通过poi,我们可以轻松地读取Microsoft Office的文件,并将其转换为Java对象,以便进一步的处理和分析。 poi是一个非常强大的Java库,提供了许多实用的方法来读取Microsoft Office的文件,我们可以通过poi来轻松地...
本文将指导您如何将外部的 JSP + Servlet 项目导入 Eclipse 中,并解决一些可能遇到的问题。 将外部项目导入 Eclipse 首先,需要确保 Eclipse 是 Java EE 版本的,或者已经安装了 WTP 插件。然后,修改 Eclipse ...
2. 下载这些库,并将其添加到Eclipse项目的Libraries路径下,通过“Properties > Java Build Path > Libraries > Add Jars”完成。 #### 步骤4:修改配置文件 为了使Nutch在Eclipse中正常运行,你需要修改Nutch的...
通过点击新建图标,选择Visual Class,设定Source Folder、Package和类名,然后在左侧的SWT组件中选择Shell,并勾选必要的构造函数和抽象方法。 通过以上步骤,你已经成功安装并配置了Eclipse以及VE插件,可以开始...
在使用Eclipse集成开发环境(IDE)的过程中,有时可能会遇到“Plugin Error loading shared libraries”的错误提示,这通常意味着Eclipse中的某个插件在尝试加载共享库(动态链接库,DLLs)时遇到了问题。...
创建用户自定义类库是管理依赖项的重要步骤,通过`window->preferences->java->build path->user libraries`,你可以添加JAR文件或者整个库目录,方便项目引用。 代码模板是编写常见代码片段的快捷方式,`window->...
### 如何将MyEclipse开发的项目转换为Eclipse工程 在软件开发过程中,开发者可能会因为各种原因(比如团队统一工具、个人习惯变化等)而需要更换开发环境。本篇文章将详细介绍如何将原本使用MyEclipse开发的项目...