java - 为了运行Java企业应用程序需要执行哪些步骤

标签 java eclipse spring jakarta-ee maven

对不起这个简单的问题,但是我对如何运行Java应用程序感到困惑。每当我问一些人时,每个人都会告诉他自己的工具,然后我就学到了这一点。

因此,只要我有一个没有插件的简单基本日食,并且我下载了使用spring,hibernate,mysql,

该应用的文件夹结构为

.setting
src--main,test
target
.classpath
.project


现在我想在浏览器中使用localhost运行它

我需要做什么。我会告诉我,你们可以纠正它
我不想使用STS或在Eclipse中安装任何插件。


我从eclipse导入了项目
菜单,我出现在左窗
由于使用弹簧,我必须添加
spring jar文件在构建路径中
春天。或其他
与休眠jar文件相同
我曾经用过的简单的Java应用程序
编译包含以下内容的类
无效的主要功能,但我没有
知道要编译哪个文件才能运行
这个程序
我在构建中添加了mysql连接器
简单地与mysql连接的路径
Java应用程序。同样的东西在这里可以工作吗?
我知道我们需要Web服务器。
所以如果我想安装玻璃鱼
服务器,然后如何将其连接到eclispe或该应用程序。雄猫会
比玻璃鱼还好吗???我知道
eclispe ide带有嵌入式玻璃
鱼,但我想整合evrything

在浏览器中,我需要使用哪个网址
看那个应用


我不知道maven,appfuse如何适合这里。如果可以,我可以在没有maven的情况下运行应用程序吗,那么maven到底能做什么呢?我的意思是它可以编译java文件还是什么。如果我需要Maven,那么


我需要单独安装吗?
exe文件或jar文件
如何与蚀链接
我已经读过关于与
行家,之后会发生什么
建筑,我的意思是什么结果
建筑,我会看到浏览器吗
建造后或建造后
还有一些步骤。做
Maven需要链接到Web服务器
已安装


对基本问题感到抱歉,但我对所有新的术语感到困惑

最佳答案

构建Web应用程序很复杂。我将尝试解决您的特定问题。

显然,您不需要Maven或Appfuse,两者都非常有用。

Maven是一个构建工具。 Maven和Eclipse执行一些类似的任务。两者都可以编译您的代码并管理类路径。 Maven处理了很多默认情况下Eclipse无法完成的事情。 Maven可以管理依赖项(即为您下载spring jars)并创建复杂的构建过程。

如果您不熟悉Maven并从头开始创建构建文件,则可能不会有太大帮助。如果您在其他地方有pom.xml(Maven构建文件),那么Maven可能会大有帮助。 Maven的结果取决于构建文件的结构。结果通常是.war文件(如下所述,作为步骤5)或应用程序直接部署到Web服务器上(以下作为步骤6)。

压抑也不是强制性的,但可能有用。 Appfuse将为您创建一个骨架项目。这样做时,它将创建一个pom.xml(Maven构建文件)以自动构建您的项目。除了帮助启动项目之外,Appfuse本身不做任何其他事情。大多数人不再从头开始构建Web应用程序,因为正确的目录结构和创建构建文件可能需要很多工作,而且很容易出错。 Spring Roo是类似于Appfuse的工具。

Tomcat,Glassfish,Jetty和JBoss是Web服务器。它们通常也称为Servlet容器,它只是以某种方式托管servlet的Web服务器的另一个名称。它们中的任何一个都可以为您的项目工作,它们都有不同的学习曲线。将它们集成到Eclipse中可能对您有用,当我开始使用时,我发现将它们分开很容易(尽管会慢一些)。

在JDK中,有一个名为javax.servlet.Servlet的接口。这是Web应用程序的入口类必须实现的接口。特别是,每次有URL请求时都会调用方法service(ServletRequest req, ServletResponse res)。如果您希望Web应用程序响应HTTP,则扩展抽象类HttpServlet(实现Servlet)可能会更简单。大多数库(即Spring Web框架)都有自己的Servlet实现,它们是该库的入口。

现在,我将描述构建Web应用程序的基本过程。这是一个复杂的过程,大多数人最终都使用Maven将其自动化。我不建议您自己尝试手动完成该过程,这可能会非常复杂,但是您可以根据需要进行操作。我将假设您将所有已构建文件放置在名为$ BUILD的文件夹中


编译您的源代码。编译后的类需要放在一个名为$ BUILD / WEB-INF / classes的文件夹中
将所有jar文件(外部库)放在名为$ BUILD / WEB-INF / lib的文件夹中
创建一个deployment descriptor,这是一个告诉Web服务器如何部署代码的文件。该文件中最重要的是从URL到实现Servlet的Java类的映射。它应该命名为web.xml并放在$ BUILD / WEB-INF中
用jar的根目录为$ BUILD打包所有这些代码。您可以将此代码称为application.jar
将jar文件扩展名重命名为war。战争文件只是一个jar文件,其中包含必需的WEB-INF目录。
将此战争文件部署到您的Web服务器(Tomcat / JBoss / Jetty / Glassfish / etc),此过程对于每个Web服务器是不同的


这是Web应用程序部署的基础。您的Web服务器将提取war文件并将lib文件夹中的所有jar加载到类路径中。然后,它将获取接收到的所有URL请求,并将它们发送到部署描述符中声明的适当Servlet实现。

如您所见,这不是一个简单的过程。这就是诸如Appfuse和Roo之类的工具存在的原因。他们尝试为您提供一个起点,为您完成所有这些基本工作。如果您遇到问题,建议您使用Appfuse / Roo从头开始尝试。随着您开始掌握各种技巧,我还建议您进一步了解Maven(或Ivy + Ant)以为您处理依赖项。

关于java - 为了运行Java企业应用程序需要执行哪些步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4906689/

相关文章:

java - HashMap 或 TreeMap 和 LinkedHashMap 哪个迭代最快?

java - 在@Configuration类中使用application.properties,@Bean方法现在可以工作

spring - Swagger UI - 默认情况下如何扩展所有操作?

java - 处理来自 @Service 类的 JSP 页面异常

java - Java 应用程序中的 Maven 性能

c - 无论实际代码顺序如何,Eclipse IDE 始终首先要求输入

android - 无法在设备 '*' : Local path doesn't exist 上安装 *.apk

spring - Kendo Spring 演示项目缺少数据库

java - renderscript可以在jni代码中使用吗?

java - 将 Git 项目导入 Eclipse Workspace