【问题标题】:Jar execution using maven使用 maven 执行 Jar
【发布时间】:2015-06-12 13:38:48
【问题描述】:

我正在研究 swagger swagger-codegen ,所以下面要执行的命令来生成静态 html 文件,

java -jar 模块/swagger-codegen-cli/target/swagger-codegen-cli.jar 生成 -i http://localhost:8086/swagger.json -l java -o 示例/客户端/petstore/java

我的问题是如何使用 ma​​ven 触发上述命令。

我尝试使用 exec-maven-plugin 它要求 ma​​in 类,但我不确定主类(我的意思是哪个是主类以及在哪里是的)

请帮忙。

【问题讨论】:

  • main 类是包含public static void main(String[] args) 方法的类。
  • 您不使用 maven 插件的任何原因:github.com/kongchen/swagger-maven-plugin ?
  • @shruti 是的,我知道:-),我的问题是,如果我将该类放在 exec-maven 插件中,它会说找不到主要方法。
  • @Wim 是的,我尝试使用您提到的 maven 插件,但无法达到所需的解决方案。我的目标是生成静态 html 生成。

标签: java maven jar swagger


【解决方案1】:

主类是SwaggerCodegen.java,你可以看到它包含方法:

public static void main (String [] args)

https://github.com/swagger-api/swagger-codegen/blob/master/modules/swagger-codegen-cli/src/main/java/io/swagger/codegen/SwaggerCodegen.java

【讨论】:

  • 感谢 Conman 的快速回复,如果我在 exec-maven-plugin 中添加它作为主类,它会说找不到类异常,我将主类指定为 io.swagger.codegen.SwaggerCodegen。我需要说点别的吗??因为我正在从 jar 访问主类。
  • 奇怪。只要您对 swagger-codegen 有依赖关系,那么该包和该类就应该存在于类路径中。作为健全性检查,您能否确保 SwaggerCodegen.class 确实存在于您正在使用的 jar 文件中?您可能使用的是旧版本,其中该类可能具有不同的名称,或者不存在?
  • 再次感谢:-) 是的,我同意您的评论,我已经完成了基本级别的调查。我已经添加了 swagger-codegen-cli jar 作为依赖项,那么我猜它应该在类路径中可用。由于主类在 src/main/java 下,我需要提到这一点吗?如果是这样,我该如何添加此属性..
  • 查看使用文档,您的插件配置中是否使用了以下内容? -classpathmojohaus.org/exec-maven-plugin/examples/…
  • 是的,如果我在我提到的命令行中使用该命令,则会生成 html,这就是文档结束的地方。但我想通过 maven 来做。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-07-13
  • 2013-04-06
  • 1970-01-01
  • 2010-12-21
  • 2022-01-03
  • 2015-12-10
相关资源
最近更新 更多