Java Web容器实现独立开发

Java Web容器实现独立开发,java,spring,tomcat,jdbc,Java,Spring,Tomcat,Jdbc,在我看来,任何项目最重要的非功能性需求之一就是构建过程,这就是我在java项目中遇到的问题,它只有一个外部依赖项,一个jdbc兼容的数据库。所有关于spring和部署的教程;我都看过了,但他们要么说: 使用gradle bootRunapplications.properties运行它(是的,但在Web服务器上我不会有任何属性文件,例如JNDI资源),或者 使用JNDI资源构建一个可部署的war文件(是的,它可以在Web服务器上工作,但不能在我的嵌入式Web服务器中工作,或者我做得不对,但是我找

在我看来,任何项目最重要的非功能性需求之一就是构建过程,这就是我在java项目中遇到的问题,它只有一个外部依赖项,一个jdbc兼容的数据库。所有关于spring和部署的教程;我都看过了,但他们要么说:

  • 使用
    gradle bootRun
    applications.properties运行它(是的,但在Web服务器上我不会有任何属性文件,例如JNDI资源),或者
  • 使用JNDI资源构建一个可部署的war文件(是的,它可以在Web服务器上工作,但不能在我的嵌入式Web服务器中工作,或者我做得不对,但是我找不到任何关于嵌入式tomcat如何从jar文件外部加载context.xml的文档)
  • 现在我尝试使用与我的服务器相同的设置,并安装了tomcat7和@Asyc@Scheduled services运行,但是没有像简单/状态页面这样的servlet会返回“OK”以进行检查。catalina.out未显示任何错误。tomcat7管理员的My/manager说部署正常,当我单击开始时:“失败-无法启动上下文路径/xyz-0.1.0处的应用程序 失败-遇到异常org.apache.catalina.LifecycleException:未能启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/xyz-0.1.0]]

    现在我想在这里切个口,扔掉所有“引导”的东西,从零开始

    所以我的问题是,当我说我的部署主要是从web容器提供的jdbc JNDI资源时,我错了吗?它被称为“jdbc/xyz”,每个想要部署我的war的人都需要JNDI。这意味着,如果您使用的是wildfly、jboss、tomcat、glassfish或任何嵌入式服务器,那么这也很重要:您的服务器impl必须提供web容器和jndi资源才能运行。我不想在我的war中配置任何tomcat、glassfish或任何实现

    这不对吗

    如果你能帮助我,那就太好了。我已经玩了好几个星期了:(如果A工作B不工作,反之亦然。使用JEE会更容易吗


    谢谢。

    为什么不能使用嵌入式servlet容器,通过服务器上的application.properties配置应用程序?@Cyril下一步是构建服务器(我已经设置好了)它部署到tomcat服务器上。我不知道它应该如何在下一个构建中重新部署正在运行的嵌入式实例?因此它应该是我服务器上的tomcat和本地嵌入式(自包含)。