Java项目无论最后借助什么IDE,实际上仍就是编写好的代码文本,其他资源等项目的组合,从逻辑上来讲最后都要经过编译形成发布包,发布到实际的运行环境中。在实际开发过程中存在的工程项目不互通的情况,实际上是由于不同的IDE对工程的组织形式不同,编译发布的部署方式有差异,在加上各种IDE在设置上的差异,使得不同IDE新建的项目工程往往不能相互通用,但实际上最终发布的程序,或者说最终交付到Tomcat之类的中间件上的文件组织形式是一致的。所以实际上不存在一种项目只能在Myeclipse(eclipse)或者Intellij IDE中打开,打不开的往往都是设置问题。本文旨在实现一个团队中不同IDE的共融,借助Github等联合开发工具来实现IDE无关性的项目(在此不考虑maven,因为maven建立的项目基本不存在此类问题)。
MyEclipse建立项目由IDEA打开。
本文使用的Myeclipse是2016CI版,操作如下:
菜单栏File->New->Web Project,打开如下图界面,输入项目名称,选择运行时(我这里是tomcat 8.0),然后直接点Finish。
初步建好的工程如下图:
然后去,http://repo.springsource.org/libs-release-local/org/springframework/spring/
下载响应的Spring版本的dist包。我这里选择了4.3.12版本,解压整个文件到本机上备用。除此之外还需要下载Spring的相关依赖包(此处是个坑,刚开始弄容易忽略),具体如下图:
下载可以直接去 http://mvnrepository.com/
然后设置项目的Libraries。选择项目,右键菜单Properties,进入以下界面:
点击Add Library,弹出框后选择User Library,next,在弹出的窗口处点User Libraries按钮,进入如下界面:
按New,输入名称“Spring 4.3.12” ,再点击Add External JARs按钮,然后选择刚刚下载的Spring等相关jar(Spring的jar在下载下来的文件夹的libs文件夹中),添加进Library中,添加完后效果如下图:
点击OK,一路保存到Properties主界面。
进如MyEclipse -> Deployment Assembly
点击ADD,选择Java Bulid Path Entry下一步,然后选择我们刚刚添加的Library--“Spring 4.3.12”,把他添加进发布范围。添加后效果如下:
接下去,就主要是配置SpringMVC本身的设置了。本文采用无xml方式配置。主要文件如下图:
相关文件代码如下:
ConvertWebAppInitializer.java
package convert.config;
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class ConvertWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class>[] getRootConfigClasses() {
return new Class>[]{WebConfig.class};
}
@Override
protected Class>[] getServletConfigClasses() {
return new Class>[]{RootConfig.class};
}
@Override
protected String[] getServletMappings() {
return new String[]{"/"};
}
}
RootConfig.java
package convert.config;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
@Configuration
@ComponentScan(basePackages = {"convert"},
excludeFilters = {
@ComponentScan.Filter(type = FilterType.ANNOTATION,value = EnableWebMvc.class)
})
public class RootConfig {
}
WebConfig.java
package convert.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
import org.springframework.web.servlet.view.InternalResourceViewResolver;
@Configuration
@EnableWebMvc
@ComponentScan("convert.controller")
public class WebConfig extends WebMvcConfigurerAdapter {
@Bean
public ViewResolver viewResolver()
{
InternalResourceViewResolver resolver =
new InternalResourceViewResolver();
resolver.setPrefix("/WEB-INF/views/");
resolver.setSuffix(".jsp");
return resolver;
}
@Override
public void configureDefaultServletHandling(DefaultServletHandlerConfigurer configurer) {
configurer.enable();
}
}
HomeController.java
package convert.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class HomeController {
@RequestMapping(value = "/", method = RequestMethod.GET)
public String index()
{
return "index";
}
}
然后,运行即可看到
然后将工程上传到github,注意添加.gitignore文件,并在其中加入如下内容:
.idea/
*.iml
.project
.springBeans
*.eml
*.class
*.jar
.classpath
/bin/
.settings/
.myumldata
以排除不需要的ide文件和java包等文件。
上传完成后,在gitghub的效果如下图:
使用IDEA打开刚刚建立的项目。
IDEA要首先选择checkout from version control.然后选择对应的项目点clone
然后弹出的提示框选是
之后一路next在选SDK的时候选择对应的jdk。之后finish。
主界面打开后选中工程,右键菜单选,Add Framework Support。
打开如下界面:
勾选Web Application 不要勾Create web.xml,我们不需要!
下拉左侧,勾选Spring,选择Use library 后点击Create
然后,找到Spring的相应Jar包添加进工程,勾选Spring MVC,然后操作和添加Spring的JAR相同,设置好Library。完成后点OK。
选择左上角菜单File->Project Structure,进入如下界面:
可以看到Spring和Springmvc的Library我们已经添加完毕,然后我们还需要添加Spring的依赖库和Tomcat中的Servlet包。点+后按照提示添加。添加完后点击Apply。添加完如下图(类库名字自己改下!):
然后再Facets页中将Web Resource Directory 设置成 WebRoot,点击Apply。
设置完之后,左侧选Artifacts,点击右下角的fix,直到不再出现,将相应的包加入项目生成目录,然后点击OK。到此基础配置完毕。
最后,选Run->Run,IDE会要求你配置运行设置,弹出界面如下(点+选中Tomcat Server):
然后配置好Tomcat,具体略,主要是选择tomcat的路径,配置完如下图:
在此点击Fix,把我们之前配置好的artfacts加入部署,之后点击Run,大功告成!不过MyEclipse和IDEA运行起来的网路路径是不一样的哦
至于IDEA建立项目由MyEclipse打开,基本套路与我一开始新建MyEclipse工程类似,主要是要设置好MyEclipse中的Facet以启用相应的插件功能。有机会的话我下次会在写一篇关于这个的博文。