我在Eclipse中创建了一个java web项目,它运行得很好(使用jsp,servlet和java类)。现在我正试着让它活着。我决定在Openshift上托管它,它提供了自己的文件结构。我已经尝试过复制我的文件了,它大部分都有效。
问题是我的导入标签似乎不起作用,它找不到我的类(例如databaseInteractor,它从我的数据库中提取信息才能显示)。这可能是路径问题,但我不确定。
这就是我在Eclipse中所做的工作:
<%@ page import ="java.util.ArrayList" %>
<%@ page import ="databaseInteractor.DatabaseInteractor" %>
<%@ page import ="databeseInteractor.House" %>
在Eclipse中,我在databaseInteractor包中有我的类House.java和DatabaseInteractor.java。但是在OpenShift中,我不明白什么是相同的包。
我尝试了各种迭代的路径和错误:
只能导入一种类型。 MyClasses.DatabaseInteractor解析为一个包 \(其中MyClasses是我在OpenShift中创建的文件夹)
无法将DatabaseInteractor解析为类型
正如您在下面所看到的,我已将DatabseInteractor复制到各处以进行调试。您建议我在导入标签中尝试一下吗?
答案 0 :(得分:0)
好的,在更多地看了你的问题之后,还有很多问题在继续。 OpenShift上的软件包的工作方式与其他任何地方的Java软件包完全相同。如果你的项目在本地工作,我很惊讶,它必须是由于一些Eclipse魔法与类路径。
1。)所有.java文件都应该在你的src / main / java目录中,这样它们就会被编译成类等(假设这是一个基于maven的项目结构,看起来就是这样)。
2.。)包中的任何java类都应该是与包命名相同的文件夹的INSIDE,例如,databaseInteractor.DatabaseInteractor
应位于/src/main/java/databaseInteractor/DatabaseInteractor.java
位置,相同与包中一部分的任何其他类。
3。)<%@ page import ="databeseInteractor.House" %>
,数据库拼写错误,可能会导致一些问题。
4。)此外,很难在那里告诉你,但你的web.xml文件应该在WEB-INF文件夹里面,但不在那个“package”文件夹里面。 我建议您研究如何在Java中使用包,并花一些时间研究使用Maven结构的Java Web项目。