打包 Servlet(编译时出现符号错误)
Packaging Servlets (symbol error on compile)
我一直在构建我的第一个(有点大)tomcat/mysql 项目。
一切进展顺利,但现在我想将我的 servlet 放入包中(并导入 classes),所以不想编译。
Servlet 存储库:C:\tomcat\webapps\web\web-inf\classes\com\coreservlets
包名:com.coreservlets
cmd shell 命令(编译):(我知道这个 classpath / 编译路径有效)
C:\tomcat\webapps\web\web-inf\classes\com\coreservlets>
javac -classpath c:\apache\tomcat\lib\servlet-api.jar LoginHandler.java
我在存储库中有两个 servlet(一个编译,另一个不编译)。不编译的会在编译时得到这个信息
LoginHandler.java:16: error: cannot find symbol
import com.coreservlets.MyUser;
^
symbol: class MyUser
location: package com.coreservlets
我的XML:
<servlet>
<servlet-name>LoginHandler</servlet-name>
<servlet-class>com.coreservlets.LoginHandler</servlet-class>
</servlet>
<servlet>
<servlet-name>MyUser</servlet-name>
<servlet-class>com.coreservlets.MyUser</servlet-class>
<servlet-mapping>
<servlet-name>LoginHandler</servlet-name>
<url-pattern>/LoginHandler</url-pattern>
</serlvet-mapping>
<servlet-mapping>
<servlet-name>MyUser</servlet-name>
<url-pattern>/MyUser</url-pattern>
</serlvet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
LoginHandler 代码片段
package com.coreservlets;
import com.coreservlets.MyUser;
MyUser 代码片段
package com.coreservlets;
MyUser.java 文件将顺利编译。
只有 LoginHandler 编译失败。我看到它知道 class MyUser 在哪里,并看到包位置......我在这里做错了什么?
*这就是我或多或少想要做的事情(只需将 servlet 打包并能够 import/export java classes/constructors: http://www.tutorialspoint.com/servlets/servlets-packaging.htm
谢谢!
您的类路径有问题。解决方法有很多种,最简单的就是call
javac -classpath c:\apache\tomcat\lib\servlet-api.jar *.java
顺便说一句,更准确,也很简单的教程是http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/
我一直在构建我的第一个(有点大)tomcat/mysql 项目。 一切进展顺利,但现在我想将我的 servlet 放入包中(并导入 classes),所以不想编译。
Servlet 存储库:C:\tomcat\webapps\web\web-inf\classes\com\coreservlets
包名:com.coreservlets
cmd shell 命令(编译):(我知道这个 classpath / 编译路径有效)
C:\tomcat\webapps\web\web-inf\classes\com\coreservlets>
javac -classpath c:\apache\tomcat\lib\servlet-api.jar LoginHandler.java
我在存储库中有两个 servlet(一个编译,另一个不编译)。不编译的会在编译时得到这个信息
LoginHandler.java:16: error: cannot find symbol
import com.coreservlets.MyUser;
^
symbol: class MyUser
location: package com.coreservlets
我的XML:
<servlet>
<servlet-name>LoginHandler</servlet-name>
<servlet-class>com.coreservlets.LoginHandler</servlet-class>
</servlet>
<servlet>
<servlet-name>MyUser</servlet-name>
<servlet-class>com.coreservlets.MyUser</servlet-class>
<servlet-mapping>
<servlet-name>LoginHandler</servlet-name>
<url-pattern>/LoginHandler</url-pattern>
</serlvet-mapping>
<servlet-mapping>
<servlet-name>MyUser</servlet-name>
<url-pattern>/MyUser</url-pattern>
</serlvet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
LoginHandler 代码片段
package com.coreservlets;
import com.coreservlets.MyUser;
MyUser 代码片段
package com.coreservlets;
MyUser.java 文件将顺利编译。 只有 LoginHandler 编译失败。我看到它知道 class MyUser 在哪里,并看到包位置......我在这里做错了什么?
*这就是我或多或少想要做的事情(只需将 servlet 打包并能够 import/export java classes/constructors: http://www.tutorialspoint.com/servlets/servlets-packaging.htm
谢谢!
您的类路径有问题。解决方法有很多种,最简单的就是call
javac -classpath c:\apache\tomcat\lib\servlet-api.jar *.java
顺便说一句,更准确,也很简单的教程是http://www.mkyong.com/servlet/a-simple-servlet-example-write-deploy-run/