从文件系统导入eclipse项目,然后在服务器上运行

时间:2013-09-07 00:50:06

标签: java eclipse spring spring-mvc spring-security

我正在尝试执行Spring安全教程 at this link

在标题为“运行没有Spring Security的教程应用程序”的部分中,我采取了以下步骤(针对当前版本与编写教程时使用的版本之间的差异进行了调整) :

1.) I downloaded the latest release of the Spring Security Distribution,   
2.) found and unzipped a war file in the dist directory called spring-security-samples-tutorial-3.1.2.RELEASE.war  
3.) Renamed the resulting folder spring-security-tutorial  
4.) Created a general project in eclipse called spring-security-tutorial  
5.) Imported all of the contents of the unzipped spring-security-samples-tutorial-3.1.2.RELEASE.war  
6.) Right clicked on the project in eclipse and selected configure...convert to maven project  
7.) Then right clicked on the project and clicked run as...  

但是没有“在服务器上运行”选项。 (我选择了一个通用项目而不是动态Web项目,希望保留要导入的应用程序的文件结构)

然后我开始重复这个过程,但创建一个动态Web项目而不是一般项目,eclipse希望我选择“构建路径上的src文件夹”。 Web应用程序的文件结构在WEB-INF的子文件夹中有8个.class文件,我无法找到任何.java文件。

我可以采取哪些步骤来下载并在服务器上的eclipse中运行它?能够编辑类吗?

我已经读过我可以在eclipse中选择一个.class文件,它会在编辑器中打开字节码,所以我想我可以很容易地将类文件转换为java文件。但是在一般项目中执行此操作会触发错误消息,该类不是类路径的一部分,因此我们需要在一个可以在eclipse中首先在tomcat服务器上运行的工作Web项目中获取它。 p>

1 个答案:

答案 0 :(得分:1)

war文件是Web应用程序ARchive(基本上是zip)。它旨在包含Web应用程序的已编译类文件和资源(属性文件,jsps,css,html,js等)。它是一个可以由Tomcat等应用程序服务器(或servlet容器)使用的包。除了通过反编译器,您将无法访问已编译的.class文件中的源代码。

我怀疑你可以在Eclipse的Tomcat实例上运行它。而是转到Tomcat安装。我在C:\apache-tomcat-7.0.22。将war重命名为security.war之类的简单内容,并将其放在webapps文件夹中,即。 C:\apache-tomcat-7.0.22\webapps\security.war。转到C:\apache-tomcat-7.0.22\bin并执行startup.bat Windows批处理文件。此脚本设置类路径并启动包含webapps中所有应用程序的Java应用程序。您可以在C:\apache-tomcat-7.0.22\logs\catalina.out中看到启动日志(就像在Eclipse控制台中一样)。

然后,您可以转到localhost:8080/security以点击该应用程序。将8080替换为您配置的任何端口。 securitywar文件的名称相同。当Tomcat启动时(基于配置参数),它会将war提取到webapps下具有相同名称的包目录中。

您可以使用配置设置。其中一些重要的是here

您可以通过运行C:\apache-tomcat-7.0.22\bin\shutdown.bat批处理文件脚本来关闭Tomcat。如果您在应用程序中更改某些内容(例如web.xml或属性文件),则必须执行此操作并重新启动。

我认为您链接的教程对于尝试安全设置比实际更改源代码更重要。我确信还有其他的Spring安全样本,我只是不知道它们。