gpt4 book ai didi

java - 在 servlet (Java/Tomcat/Linux) 中使用我自己的类

转载 作者:行者123 更新时间:2023-11-28 23:44:19 26 4
gpt4 key购买 nike

在过去的 3 天里,我找不到这个问题的单一答案。我需要能够在我的 servlet 中使用我自己的类。

我非常确定我的文件层次结构是正确的:

|-WEB-INF/
|---classes/
|------com/
|---------myProject/
|------------user/
|---------------User.java
|---------------Location.java
|---------------Comment.java
|------------servlet/
|---------------DoComment.java

由于 User.java、Location.java 和 Comment.java 在一个包中定义为 com.myProject.user 我知道我应该转到 java 项目的主根目录并编译它们方式:

/var/lib/tomcat6/webapps/ROOT/WEB-INF/classes$ sudo javac com/myProject/user/Location.java
/var/lib/tomcat6/webapps/ROOT/WEB-INF/classes$ sudo javac com/myProject/user/User.java
/var/lib/tomcat6/webapps/ROOT/WEB-INF/classes$ sudo javac com/myProject/user/Comment.java

但是,当我在编译中使用类路径时,javac 无法识别其他对象(找不到符号 错误)。

/var/lib/tomcat6/webapps/ROOT/WEB-INF/classes$ sudo javac -cp /usr/share/tomcat6/lib/servlet-api.jar com/myProject/servlet/DoComment.java

求助!

最佳答案

您将 java 源代码放在需要编译的 java 类的位置。尝试编译源代码,然后将类文件(.class 与 .java)添加到您当前放置它们的位置。

为此,您必须确保这些类没有依赖关系,并且您的类的包声明与您放置它们的文件夹层次结构相匹配。

即便如此,这通常不是网络项目的组合方式。您最好将这些类打包到 JAR 中并将 JAR 放在您的 WEB-INF/lib 文件夹中。

有关创建 JAR 的更多信息,请查看:http://docs.oracle.com/javase/tutorial/deployment/jar/build.html

关于java - 在 servlet (Java/Tomcat/Linux) 中使用我自己的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16347840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com