java .jar中没有主清单属性

第一步  file-->project structure 弹框后选中Atifacts---> + ---->jar---->from module with dependenceis

第二步  选择一个Main Class,然后指定META-INF/MANIFEST.MF的路径为src下(注意不要放到main/java目录下,否则打成的jar中META-INF/MANIFEST.MF不含有Main Class信息)

第三步 点击apply  ---》 OK
(如果还有问题 比如打开jar 看MANIFEST.MF) 无项目内容 只有其他的 那么 把所有 LIB移走 编译一次
重新移回来 在编译一次

set JAVA_OPTS=-Xms256m -Xmx1024m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=512m

java %JAVA_OPTS% -jar web.war
转载于:https://www.cnblogs.com/shuaihan/p/10584216.html

最近在调研使用 Jenkins 持续集成软件,拿到了一个 war 文件,运行 war 文件有两种方式:

  1. 把 war 文件放到 tomcat 的 webapps 文件夹中,运行 tomcat ,由 tomcat 自动解压运行 war 文件中的程序;
  2. 不用 tomcat,cmd 进入 war 文件所在目录,直接执行以下命名运行 war 中的程序;

java -jar 文件名.war

今天主要想说的就是这第二种方式。

我们调用如下命令后,war 程序就开始运行了。

java -jar jenkins.war

然后我们在浏览器输入“localhost:8080”,就可以使用 Jenkins 了。

这里就有一个问题,端口号的问题,我们大家都知道,tomcat 默认端口号也是 8080,我们刚刚运行的 Jenkins 也用的是 8080(如果我们不得不用 tomcat,但又不想用 tomcat 运行我们当前的 Jenkins.war 时),这里很明显就冲突了。

如果我们能指定 Jenkins 运行的端口,避免它运行时使用 8080 端口,那么 Jenkins 和 tomcat 就会和平共处了。

事实上 Java 给我们提供运行 war 时指定端口的命令,我们可以借助 help 来查看一些扩展命令。

输入 java -jar jenkins.war –help

我们可以看到下边有一个 –httpPort 选项可以指定端口号。

接下来,我们修改指令,自定义端口号,比如我们想指定端口号为9999。

java -jar jenkins.war –httpPort=9999

修改浏览器访问地址:localhost:9999,达到了我们想要的结果。

猜你喜欢

转载自www.cnblogs.com/marklove/p/12951557.html