本文吐槽!

如果我们创建两个Java项目。一个叫StatsReader。把数据从网上下载到本地数据库里。一个叫StatsViewer。把数据从数据库里拿出来呈现给用户。这两个项目都要用同一个外部类库mysql-connector-java-5.0.8-bin.jar。

Eclipse能够创建一个工作集。内含多个Java项目,但工作集仅仅是一个概念,与项目的实际存储位置无关。

可是我们能够把两个项目放在同一个文件夹里,比方D:\Source Code\NBA\StatsReader和D:\Source Code\NBA\StatsViewer。

如果有个需求,要求reader读完数据后自己主动打开viewer。我们能够用改动.project文件添加链接目录的方式把StatsReader的编译位置从D:\Source Code\NBA\StatsReade\bin转移到D:\Source Code\NBA\bin,即..\bin。相同StatsViewer也这样转移。

Java编译烂就烂在在文件级别上源码与二进制一一相应,我有a.java。它就编出a.class。所以,万一StatsReader和StatsReader有某个文件重名就会出错。

我从C#出身的,在Java里我习惯把包括main函数的文件起名为Program.java,所以有StatsReader/Program.java和StatsViewer/Program.java。编译后bin里仅仅会有一个Program.class,我也不知道是reader的还是viewer的!

那行吧。幸亏我还能把java程序打包成jar。

比方我reader先调试好了,打包成StatsReader.jar,放到bin里。然后開始调试viewer。

由于reader的program.class在bin里面,我在eclipse的viewer项目里点击执行。实际上执行的还是reader!

我要又一次编译reader,不行的!

说要清理项目状态然后编译。清理项目状态事实上就把bin里的全部文件都清除了,我刚打包好的StatsReader.jar没了!

Visual Studio支持就好多了!VS创建一个项目,这个项目就自己主动处在一个解决方式里,从一開始就告诉你一个解决方式能够包括多个项目。而不特别去查的话不会知道Eclipse有工作集这个玩意儿。

VS能够强制又一次编译项目。无论代码文件有没有改过,它都给你编译一遍。VS也能够清理解决方式,就跟Eclipse清理项目状态差点儿相同。但VS它不是一股脑地整个删除bin目录里的文件,它仅仅会删除它生成的文件。

像我刚才描写叙述的两个项目,在VS里面我想就非常好做。结构清晰。管理简单。

有人不服气了,说Eclipse有Ant自己主动构建大神,还有maven大神、Gradle大神,但我这仅仅是简单的需求就要动用到还有一项专门技术?Eclipse里菜单是有“Ant自己主动构建”之类的选项,但我怎么知道这是什么意思?

我也不知道Eclipse能不能执行“编译前动作”“编译后动作”,这似乎是ant负责的事。能不能编译到D:\Source Code\NBA\StatsReade\bin。打包成jar放到D:\Source Code\NBA\bin,执行D:\Source Code\NBA\bin的jar?看起来非得搞懂自己主动构建才行!

VS编译前编译后动作就非常明显,在项目属性窗体里,点几下就能看到。虽然编译前编译后动作属于自己主动构建领域,但VS不引进这个概念,我直接看到我想要的就用了。不知不觉。“原来这就是自己主动构建呀。”VS也支持编译后把非代码文件拷贝到编译文件夹。

在我的样例里,reader和viewer都要连接数据库,我想把连接字符串存在一个文件中,比方connection.txt,与两个程序放在同级文件夹。

因为上面清理项目状态的问题。这个txt常常被删掉。在VS里就方便了,txt与代码放一起,但设置编译后拷贝到编译文件夹。这样即可了。

要说VS有没有类似ant大神的自己主动构建工具,我不知道,但其csproj文件就具有一定的编程能力。

结论就是。Visual Studio比Eclipse好用!

欢迎拍砖。

Eclipse对于多个Java项目的支持并不友好!的更多相关文章

  1. 在命令行中运行eclipse中创建的java项目

    在命令行中运行eclipse中创建的java项目 博客分类: java相关 javaeclipse命令行  由于项目要求,需要对eclipse中的项目进行打包,似的可以在客户机上不装eclipse的情 ...

  2. eclipse中如何将java项目转为java Web项目

    有时候我们在eclipse中导入web项目时,系统当做一个java项目导入进来了.这时候在启动tomcat的服务器时无法找到该项目. 那么可以通过如下操作来将java项目转换为web项目. 1. 选择 ...

  3. Eclipse安装配置以及java项目和类的创建

    1.Eclipse的安装: 双击此应用程序 进入安装界面 选择下一步 更改路径将此默认路径改为 确定之后下一步更改jre的安装路径 在之前安装的java文件夹下新建一个jre文件夹 将jre安装在里边 ...

  4. Android 如何在Eclipse 引入外部纯Java项目(不是打成Jar使用)

    应用情景--如标题: 在Eclipse的 “Android启动项目”中引入“外部的纯Java项目”,能运行的只有是基于Android的测试代码才可以. 一直很纳闷,如果外部写好一个Java插件(例如服 ...

  5. java web项目导入到eclipse中变成了java项目的一种情况的解决办法

    前提,我把代码上传到github上之后,在另外一台电脑上拉下之后,先报出现的是jre不对,然后换成了当前的jre,然后红色的感叹号消失了但是之前项目上那个小地球不见了,也就是说变成了java项目. - ...

  6. Eclipse 运行导入的 Java 项目时,Error:A JNI error has occurred

    出现场景 导入 Java 项目,运行时,出现:Error:A JNI error has occurred.... 解决方式 该项目的 Build Path , 在Libraries 中删除后重新添加 ...

  7. Eclipse+Maven整合开发Java项目(二)➣webapp3.0以上的Maven项目

    概述 Eclipse集成Maven插件,新建maven-archetype-webapp项目的时候,采用的webapp的版本较低,默认是2.3,有些时候,我们希望升级Webapp的版本到3.0(Tom ...

  8. Eclipse+Maven整合开发Java项目(一)➣Maven基础环境配置

    概述 Maven是一个Java语言编写的开源项目管理工具,是Apache软件基金会的顶级项目.主要用于项目构建,依赖管理,项目信息管理.有些项目需要添加响应的依赖包,Maven就是公用包集合.存在远程 ...

  9. Eclipse中的普通Java项目如何部署到Tomcat中

    我现在的做法: 1.在Eclipse中配置Tomcat时,选择创建Context文件,而不是server.xml,好处是文件可以随便命名,与虚拟目录一致(即xml中的属性path).Tomcat加载项 ...

随机推荐

  1. windows 安装 mysql5.7

    1. 搜索“Mysql download”进入官网 或者点击链接 https://dev.mysql.com/downloads/ 进入官网,如下: 2. 下载对应的 MySQL 版本,如下: 点击 ...

  2. linq使用 count与sum等

    using System; using System.Data; using System.Configuration; using System.Linq; using System.Web; us ...

  3. SQL联合查询(内联、左联、右联、全联)语法

    SQL联合查询(内联.左联.右联.全联)语法 概述: 联合查询效率较高,举例子来说明联合查询:内联inner join .左联left outer join .右联right outer join  ...

  4. 使用clamav查杀病毒

    cd ~ wget http://www.zlib.net/fossils/zlib-1.2.8.tar.gz .tar.gz cd zlib- ./configure --prefix=/usr/l ...

  5. C# split字符串

    string strSourse = "ab|||cdef"; string[] arr = strSource.Split(new string[]{"|||" ...

  6. Sax解析xml及pull解析xml

    sax解析参考:http://www.iteye.com/topic/763895: 说明:测试时报空指针异常,未能读取到数据,关注Sax解析的过程及API即可: pull解析参考:http://ww ...

  7. Codeforces Gym 101775D Mr. Panda and Geometric Sequence(2017-2018 ACM-ICPC Asia East Continent League Final,D题,枚举剪枝)

    题目链接  ECL-Final 2017 Problem D 题意  给定$2*10^{5}$组询问,每个询问求$l$到$r$之间有多少个符合条件的数 如果一个数小于等于$10^{15}$, 并且能被 ...

  8. flow JavaScript 静态类型检查工具

    内置类型 flow 内置类型有 boolean, number, string, null, void, any, mixed, literal type. 其中 boolean, number, s ...

  9. Jmeter插件之PerfMon监控插件使用说明

    PerfMon是Jmeter用来监控系统资源的一款插件,可以用来监控系统的cpu.内存.I/O等性能指标. 首先是Jmeter的插件安装,需要先下载JMeter Plugins Manager这个插件 ...

  10. nginx的proxy_set_header

    nginx配置的server段: listen 8888; server_name wyc.com; location /user { proxy_set_header HOST fake.com; ...