问题标签 [spring-boot-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
spring-boot - spring-boot-maven-plugin 的使用
在创建 Spring Boot 项目时,我在 pom.xml 中定义了属性<packaging>war</packaging>
,我可以使用它来创建战争,然后将战争部署到服务器中,可能是 tomcat 或 WAS。
但是我遇到了一个名为spring-boot-maven-plugin的插件,它的文档说明它的用途是打包可执行的 jar 或战争档案并就地运行应用程序。
我的问题是为什么我们需要这个?
如果我的包装可以告诉我要创建什么然后可以部署它来运行,那么这个插件的用途是什么。
我正在尝试了解一个新项目,因此想确保每一行都有意义
spring - “在 META-INF/spring.factories 中找不到自动配置类”尝试独立构建 Spring
我正在尝试从多模块 Maven 项目构建一个独立的 .jar。
项目结构为
ema-server/ shared/ # 与 Java 客户端共享 rest-api/ # Spring REST API server/ # 为独立提供 main() 并捆绑在一起 web/ # 一个简单的 AngularJS Web 服务器
该server/
模块的存在是为了构建独立 .jar
的. 为此,它取决于rest-api/
包含@SpringBootApplication
.
你可以看看我拼命尝试完成这项工作,但这是我目前的“解决方案”:
模块的pom.xml:server/
我想在这里声明,如果我在 Eclipse 中将这个东西作为 Java 应用程序运行,那么一切正常。
但是,如果我运行“独立” java "*" org.ema.server.Server
,我会得到:
您可以在此处查看完整的输出。
有人可以告诉我如何使这项工作吗?
如果我能提供更多信息,请告诉我。
spring - 如何将 WAR 模块加载到独立运行的 Spring 内置 Tomcat 中?
我的 Maven 项目中有三个模块:
我不确定我这里是否有一个“优雅”的解决方案,所以如果这完全是垃圾,请用棍子打我,但这就是它的工作方式 - 或者它应该如何工作:
休息API
模块rest-api
只是提供 REST API 和其他核心功能——基本上它是纯服务器代码。这是一个jar
神器。
网络客户端
为了分离客户端和服务器代码,我有模块web-client
。这是一个war
包含客户端 webapp 的项目。
应用
这个模块应该把它全部粘起来。这取决于rest-api
和web-client
。它做了两件重要的事情:
- 它是 pom.xml 用于
spring-boot-maven-plugin
构建独立可运行文件jar
- 我的最终目标 - 它提供
main(String args[])
了@SpringBootApplication
以SpringApplication.run(EasyModelAccessServer.class, args);
我目前能够告诉 Eclipse 在 servlet 容器中运行它。服务器启动,我的两个资源,rest-api和web-client工作。到目前为止一切都很好。
问题
没有完全工作的是独立的。如果我打包整个东西并运行服务器:
只有 REST API 可以工作。原因是web-client没有作为 web 应用程序添加或引入 Spring 内置的 Tomcat 。
问题
是我如何使这项工作。我想到了两个选择:
- 以某种方式将
web-client.war
文件潜入其中application.jar
,使其可作为资源使用并以编程方式调用tomcat.addWebapp("/web-client", "path/to/web-client.war")
(或类似的方法)以加载附加服务 - 希望这个
spring-boot-maven-plugin
或另一个 Spring Maven 插件可以为我做到这一点,并找到将我链接到示例的人。
我已经用 1 试过了。但我没有成功web-client.war
进入application.jar
,但我也不确定我是否应该这样做。
常问问题
问: “为什么要将所有内容分开,而不是将所有这些模块合并到一个server
模块中,让 Spring Maven 插件开箱即用地为你做所有事情? ”
A:我真的很想将客户端代码与服务器代码分开。但是我可以合并web-client
,application
但上次我尝试了我有 10 个其他问题,为什么这没有解决,所以我决定保持这种方式,并且实际上加载额外的服务器资源不应该那么难。
问: “我可以看看这个项目吗? ”
答:是的,你可以。看看:https ://github.com/silentsnooc/easy-model-access请原谅我,我目前使用的是制表符而不是空格 - 我将在一切启动并运行后立即更改它。
java - Maven 对原始 Spring Boot JAR 的依赖
我正在使用 Spring Boot 和 spring boot maven 插件,它创建了一个 JAR
插件创建的 JAR 将类放在 JAR 的子目录中,这意味着我不能将 JAR 用作 maven 中的依赖项。
有没有办法在原始 JAR 上声明 maven 的依赖关系。我看到目录中有一个*.jar.original
文件,target
所以也许我可以创建一个依赖项,这样可以通过声明 kind 的依赖项来创建对测试类的依赖项test-jar
。
只是为了澄清:我正在做这个测试/更容易调试,而不是为了生产。
spring-boot - Spring Boot Web 应用程序未启动
我有一个小型 Spring Boot 应用程序,它通过控制器公开 API。控制器使用一些服务,这些服务使用 mongodb 存储库。
我的 pom.xml:
控制器:
主要应用类:
当我从命令行或 Eclipse 运行 mvn spring-boot:run 时,会出现各种错误。如果我删除“servletContainer”方法,我会得到:
如果它在那里,我会收到另一个错误:
Maven 正在将 tomcat-embed-core-8.5.11 添加到依赖项中,以便报告为未找到的类存在。这让我很困惑。
我还尝试了一些在 Internet 上找到的演示项目,但我无法通过嵌入式容器侦听请求来启动并运行任何 spring-boot 应用程序。
有人可以指出我做错了什么吗?
非常感谢。
maven - 解包 WAR 不解包
我试图实现与此处发布的问题相同的目标,即将战争依赖项组装到可部署的 zip 中,战争及其一些解压缩的 *.yml 文件都在最终的 zip 中。我已将战争文件正确组装到 zip 中,但我无法让 maven-dependency-plugin 将 *.yml 文件从战争中解压缩以重新打包。
为了清楚起见,这就是我所拥有的:
- 项目一
- 名称:myapp-war
- 包装:战争
- 项目 2
- 名称:myapp-部署
- 包装:pom
- 依赖:myapp-war:war
- 所需输出:myapp.zip,其中包括:
- bin/myapp.war
- conf/application-*.yml
这是我的插件声明的样子:
我还尝试了一个变体,在其中声明<outputDirectory>
and<includes>
就在 之下,根据unpack mojo docs<configuration>
是允许的。
无论哪种情况,我都会得到一个空的 myapp-deploy/target/unpack 文件夹,以及 maven 输出中的 [INFO] 和 [DEBUG] 消息,说明:
maven 似乎已经理解了我的指示,但似乎并没有像它声称的那样解包。知道我做错了什么吗?
java - spring-boot-maven-plugin 可以用于非 spring 项目吗?
主要目标是将spring-boot-maven-plugin
Spring Boot 应用程序打包到具有所有依赖项的可执行 jar 中。可以在没有spring或spring boot的项目中使用吗?我的意思是不使用 spring 依赖项,而只是用于加载依赖 jar 的类加载器机制。
maven - 如何将自定义启动器添加到 spring-boot-maven 的可执行 jar
如何将自定义加载程序添加到可执行 jar?目前,我通过打开 jar 文件、粘贴类并在末尾重新签名来手动执行此操作。-.-
在此先感谢佩德罗席尔瓦
matlab-figure - 使用 Matlab webfigures 的 Spring Boot 应用程序抛出错误
我正在使用 Spring Boot MVC Maven 应用程序来绘制 Matlab webfigures。我的 matlab 应用程序返回 4 个 webfigure 对象,我喜欢在我的应用程序页面上展示它们。我使用 javabuilder 将 matlab 代码包装到 Java 类中。但是我收到错误:
无法初始化 com.mathworks.mwswing.MJStartup
我能够使应用程序在 Spring XML 中运行,但 spring boot 不适合我。不知道为什么。
我的消息来源:
上传控制器.java
应用程序.java
主页.jsp
网络人物.tld
pom.xml
收到错误:
java - 尝试在控制器中检索用户输入的值并将其添加到 SpringBoot 应用程序中的 mysql 数据库
我已经将我的 html 文件放在里面src/main/resources/static/NewFile.html
,如果我使用控制器就像(@RequestMapping("/"))
它只是返回字符串而不是视图一样,它就不起作用。除了我要http://localhost:80/NewFile.html
访问它之外,如果我输入动态值并提交,它不会转到特定的控制器。
我是新手Springboot
。谁能告诉我哪里出错了。