myeclipse 编译源文件 tomcat解释.class文件机制

一 场景:

在svn中下载了项目最新版本,启动myeclipse中的tomcat,发现报错,找不到springMVC配置文件,于是把根目录下的resource文件夹放到了源代码输出目录下。再次启动还有类似找不到文件的错误,于是又修改了build path --configure build paht,把src 和resource两个目录(自己项目自己写的所有源代码)都放到了源码输出source的位置。捎带着改了class输入文件的位置。结果又报错了。。。错误如下:

严重: Exception starting filter SecurityFilter
java.lang.ClassNotFoundException: com.cdvcloud.programedit.web.filter.SecurityFilter
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
	at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
	at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:529)
	at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:511)
	at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)

二 myeclipse中一些文件说明

首先说说myeclipse中对一些操作的说明,如下图所示:

说明如下:

1、Source选项卡

     Source folders on build paht:设置.java源文件的根目录输出路径

     default output folder:项目源文件经过myeclipse编译器编译后生成.class文件,这个路径配置的就是.class文件输出路径。(ps:对于java
web项目来说,默认源文件目录:项目名称/src 输出目录:项目名称/WebRoot/WEB-INF/classes。对于单纯的java project来说,默认输出路径不同:项目名称/bin。)

2、projects选项卡

是否关联到其他的项目中,例如我们在 projects选项卡中引入了两个其他的项目,这样我们在该项目中进行import 的时候,就可以import我们刚引入的两个项目。并且查看项目的.classpaht文件,文件内容如下。

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="resource"/>
	<classpathentry kind="src" path="1"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
	<classpathentry kind="con" path="melibrary.com.genuitec.eclipse.j2eedt.core.MYECLIPSE_JAVAEE_6_CONTAINER"/>
	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
	<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
	<classpathentry combineaccessrules="false" kind="src" path="/bss"/>
	<classpathentry combineaccessrules="false" kind="src" path="/vms2.0"/>
	<classpathentry kind="output" path="WebRoot/WEB-INF/myclasses"/>
</classpath>

这样我们就可以引入bss和vms2.0项目中的其他包中类文件了。

3、Libraries选项卡

用来管理项目中使用的类库,包括jdk自带和jre自带的jar,也包括我们自己引入的第三方jar,可以对类库进行添加和删除。

4、order and Expor选项卡

优先级:调用优先级越好,将会从上向下调用,比如包名和类名一样的两个项目,会根据此优先级进行调用(这篇文章,验证了此观点)。勾选与不勾选,区别在于,项目打war包的时候会不会把这里的jar也打包进去。

三 项目生成文件说明

我们每新建一个项目,随着项目就会生成.classpath 、.mymetadata、.project 三个文件,这三个文件说明如下。

.classpath文件

该文件是我们在修改java build paht时,会自动随之更改。

.mymetadata文件

<?xml version="1.0" encoding="UTF-8"?>
<project-module
  type="WEB"
  name="pgmedit_record"
  id="myeclipse.1416988570034"
  context-root="/pgmedit_record"
  j2ee-spec="6.0"
  archive="pgmedit_record.war">
  <attributes>
    <attribute name="webrootdir" value="WebRoot" />
  </attributes>
</project-module>

很明显,这里说明的是项目名称,项目默认访问,项目打包默认的名称,项目访问默认路径WebRoot。

.project 文件

就不粘贴内容了,大同小异,包括项目名称,编译器指定的加载内容以及一些核心的特性。

四 myeclipse的默认规定

1、我们可以随便改变源代码放置位置,但是无论放到什么位置都要放在java build paht --》source 下。

2、tomcat解释。class文件,默认位置是项目--WEB-INF--class文件夹中的文件。

当我把输出class改成自己的myclass时,启动tomcat,程序会报错。再看tomcat下项目的WEB-INF 下的classess文件,里面没有任何的class类,而当我把myclasses下的编译好的class和xml文件copy到这个目录下,便可以运行。

这说明了,myeclipse编译路径可以修改,没有规范,但是tomcat在解释执行.class文件的时候,就必须放在WEB-INF下的classes,这样tomcat才能找到要运行的内容。

五 总结

细心观察,没有解决不了的问题,送给大家一小段Sweet sound ,愿生活愉快

若无法播放,点击这里

时间: 2024-10-11 05:57:53

myeclipse 编译源文件 tomcat解释.class文件机制的相关文章

Myeclipse编译Maven项目并Tomcat部署

测试软件版本: Myeclipse10.0,Maven3.2.1,Tomcat7 1. Myeclipse配置Maven.Tomcat 1.1 配置Maven 1)下载Maven,https://maven.apache.org/download.cgi , 下载zip包的即可: 2)配置window7的环境变量: 如下图 测试:打开dos窗口,输入mvn -version,可以看到类似下面的信息即可: 3)配置Myeclipse windows->preference, 搜索maven 选择刚

linux 编译时多个源文件生成一个目标文件

obj-m := target.o target-objs :=  src1.o src2.o src3.o linux 编译时多个源文件生成一个目标文件

探秘Tomcat(一)——Myeclipse中导入Tomcat源码

前言:有的时候自己不知道自己是井底之蛙,这并没有什么可怕的,因为你只要蜷缩在方寸之间的井里,无数次的生活轨迹无非最终归结还是一个圆形:但是可怕的是有一天你不得不从井里跳出来生活,需要重新审视井以外的生活,你就会发现世界如此美好,我知道的如此的少! 好比,但你看到如下代码 namespace Singleton { public class Singleton { private static Singleton singleton; private Singleton() { } public

C预编译, 预处理, C/C++头文件, 编译控制,

在所有的预处理指令中,#Pragma 指令可能是最复杂的了,它的作用是设定编译器的状态或者是指示编译器完成一些特定的动作.#pragma指令对每个编译器给出了一个方法,在保持与C和C++语言完全兼容的情况下,给出主机或操作系统专有的特征.依据定义,编译指示是机器或操作系统专有的,且对于每个编译器都是不同的. 其格式一般为: #Pragma Para 其中Para 为参数,下面来看一些常用的参数. (1)message 参数. Message 参数是我最喜欢的一个参数,它能够在编译信息输出窗口中输

编译型与解释型、动态语言与静态语言、强类型语言与弱类型语言的区别

一.编译型和解释型 我们先看看编译型,其实它和汇编语言是一样的:也是有一个负责翻译的程序来对我们的源代码进行转换,生成相对应的可执行代码.这个过程说得专业一点,就称为编译(Compile),而负责编译的程序自然就称为编译器(Compiler).如果我们写的程序代码都包含在一个源文件中,那么通常编译之后就会直接生成一个可执行文件,我们就可以直接运行了.但对于一个比较复杂的项目,为了方便管理,我们通常把代码分散在各个源文件中,作为不同的模块来组织.这时编译各个文件时就会生成目标文件(Object  

Myeclipse添加外部Tomcat出现启动故障的问题解决

故障: 1.java.lang.IllegalStateException: No output folder 分析:work文件夹无写权限 解决:找到tomcat的安装文件夹,右键点击work文件夹“属性”,在“安全”卡中编辑权限,把当前用户组的权限修改为“修改”即可. 2.java.io.FileNotFoundException: C:\Program Files\Apache\Tomcat 8.0\logs\localhost_access_log.2016-06-24.txt (拒绝访

预编译命令简单解释(转载)

我的blog是用开源的BlogEngine来架设的,有的时候为了满足自己的需求及要对源代码做一些修改.在我调试客户端代码的时候,不管是使用Firebug或者是Vs 2008来调试,看到的Javascript代码都是经过动态压缩过了的,这个系统有一个HttpHanddle是专门用来处理js文件请求的,在第一次请求的时候会对js代码进行压缩,去掉了注释换行符等不必要的字符,这样可以提高访问的速度,但是对调试非常的不利,相信我们谁都不愿意对着一堆压缩过了的JS代码做调试.于是我想到了C#的预编译指令,

75篇关于Tomcat源码和机制的文章

75篇关于Tomcat源码和机制的文章 标签: tomcat源码机制 2016-12-30 16:00 10083人阅读 评论(1) 收藏 举报  分类: tomcat内核(82)  版权声明:本文为博主原创文章,未经博主允许不得转载. 整理下前面写过的75篇关于Tomcat源码和机制的文章 文章列表 如何设计一个Web容器 Web安全认证机制知多少 Tomcat集群实现源码级别剖析 Tomcat集群如何同步会话 从单机到集群会话的管理之集群模式一 从单机到集群会话的管理之集群模式二(更大的集群

手把手教你----MyEclipse中 配置 Tomcat

电脑上配置Tomcat服务器 安装Tomcat并配置环境变量 测试是否配置成功 MyEclipse中配置Tomcat 想要开发Java Web的程序,首先在MyEclipse中必须配置Tomcat,一起来动手操作吧. 电脑上配置Tomcat服务器 安装Tomcat并配置环境变量 官网上下载Tomcat,记住你下载安装的版本,后面再MyEclipse中配置的时候会用到,安装时记住你安装的目录,安装成功后,配置环境变量,在系统环境变量中新建 输入的内容如下: 变量名:CATALINA_HOME 变量