如何让Eclipse EE在WEB-INF / classes中构建类(或更好的方法)

时间:2015-08-05 20:32:54

标签: linux eclipse tomcat7

Eclipse EE的默认设置似乎是在build-classes中构建java代码,而不是在WEB-INF / classes或WEB-INF / lib / my.jar中构建。我可以创建一个包含整个项目的.war文件,但是每次构建时,我都必须手动生成war文件。我当前的设置,其中WebContents目录符号链接到/ var / lib / tomcat7 / webapps / ROOT,在这种情况下,所有网页都按照定义在正确的位置,但代码不在那里。

我愿意就如何让这种情况自动发生提出建议,但我想知道为什么首先应该有需要?为什么我要将Web应用程序的构建目录放在除应该执行的目录之外的任何地方?有没有办法让eclipse在一个理智的地方构建!%* @%类文件,或者实际上有一个原因导致EE应用程序的代码不能在服务器上运行?是否有一些简单的东西我可以添加来触发ant或mvn中的规则将代码移动到正确的位置?

复杂化这个问题,我转而使用Ubuntu(目前在Windows下也不行。) 我得到了奇怪的错误,事实证明我没有安装jdk7。 所以我安装了它,但是我怎么知道用什么java来运行tomcat和eclipse?我如何知道它将使用jdk7而不是之前使用过的?在Windows上,当我尝试运行Eclipse时,它在未安装Java时发出了直接的错误,因此从未发生过这种情况。

我输入javac -version并获取正确的版本,但这并不能保证像tomcat7这样的服务会使用相同的服务。

错误(在Windows上相同)

An error occurred at line: 3 in the jsp file: /demos/post.jsp
ReadBody cannot be resolved to a type
1: <%@ page import="org.adastraeducation.liquiz.servlet.*" %>
2: <%
3:   ReadBody b;
4: %>
5: <html>
6: <body>

目前(荒谬)停止此错误的方法是:

   cd build/classes
   jar -cf my.jar org
   sudo mv my.jar /var/lib/tomcat7/webapps/ROOT/WEB-INF/lib
   sudo service tomcat7 restart

1 个答案:

答案 0 :(得分:0)

Eclipse Web Tools可以管理构建和打包Web应用程序(WAR)并在您选择的本地服务器上自动运行它。这包括在进行更改,调试等时重新部署。但是您必须创建或配置项目作为Eclipse的动态Web项目,以便知道为您执行此操作。

对于初学者,您需要{{3>} Eclipse IDE for Java EE Developers 包或使用download来获取它。然后,您可以仔细阅读Web Tools帮助(例如,启动Eclipse Installer)。