【个人springboot项目】打包部署

2021年1月24日 18点热度 0条评论 来源: 大壮vip

1.jdk不说了,网上一大堆

2.mysql安装稍微说一下

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql57-community-release-el7-10.noarch.rpm

yum -y install mysql-community-server

systemctl start  mysqld.service

systemctl status mysqld.service
看到正在running即可

grep "password" /var/log/mysqld.log
可以看到密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'new password';

yum -y remove mysql57-community-release-el7-10.noarch
这个把它卸载掉


GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456';

flush privileges;

如果还是无法连接,检查是否防火墙屏蔽了mysql端口的远程访问权限。但是,我部署云服务器不打算这么做

不想把mysql允许远程访问,防火墙不想关。

 

注意mysql建库:

CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

 

3.打包

idea 设置 

进入project Structure( 快捷键 Ctrl+Shift+Alt+S或者File->Project Structure ),选中‘Artifacts’,点击中间的绿色+号(Project Settings->Artifacts->JAR->From modules with dependencies )

 

4.centos

yum install lrzsz

上传jar直接启动   java -jar XXX.jar

报错信息

no main manifest attribute, in x.jar

 

 

使用命令

java -cp official.jar com.zhongjian.official.OfficialApplication
 

也会报错

java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.
	at org.springframework.util.Assert.notEmpty(Assert.java:464)
	at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getCandidateConfigurations(AutoConfigurationImportSelector.java:183)
	at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector.getAutoConfigurationEntry(AutoConfigurationImportSelector.java:119)
	at org.springframework.boot.autoconfigure.AutoConfigurationImportSelector$AutoConfigurationGroup.process(AutoConfigurationImportSelector.java:420)
	at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGrouping.getImports(ConfigurationClassParser.java:878)
	at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:804)
	at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:774)
	at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:185)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:315)
	at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:232)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:275)
	at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:95)
	at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:705)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:531)
	at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:142)
	at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:775)
	at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:397)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:316)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1260)
	at org.springframework.boot.SpringApplication.run(SpringApplication.java:1248)
	at com.zhongjian.official.OfficialApplication.main(OfficialApplication.java:15)

参数不对,说明这样恐怕不行的。

java.lang.IllegalArgumentException: No auto configuration classes found in META-INF/spring.factories. If you are using a custom packaging, make sure that file is correct.

改一下maven帮我打包呢,但是:

Plugin 'org.springframework.boot:spring-boot-maven-plugin:' not found

然后就看下这个了

 

1,如果你的POM是继承spring-boot-starter-parent的话,只需要下面的指定就行。

<properties>
    <!-- The main class to start by executing java -jar -->
    <start-class>com.mycorp.starter.HelloWorldApplication</start-class>
</properties>

2,如果你的POM不是继承spring-boot-starter-parent的话,需要下面的指定。

<plugin>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-maven-plugin</artifactId>
  <version>1.3.5.RELEASE</version>
  <configuration>
    <mainClass>${start-class}</mainClass>
    <layout>ZIP</layout>
  </configuration>
  <executions>
    <execution>
      <goals>
        <goal>repackage</goal>
      </goals>
    </execution>
  </executions>
</plugin>

好了,这里pom不报错了

 

但是打包依旧报错:

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.1:test (default-test) on project official: There are test failures.

Please refer to E:\project\official\target\surefire-reports for the individual test results.
Please refer to dump files (if any exist) [date].dump, [date]-jvmRun[N].dump and [date].dumpstream.

 

pom跳过即可

            <!--添加配置跳过测试-->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-plugin</artifactId>
                <version>2.22.1</version>
                <configuration>
                    <skipTests>true</skipTests>
                </configuration>
            </plugin>

 

 

但是来了新的问题了,我的项目,打包不打我要执行的类了。

如果spring-boot-maven-plugin报错,是需要添加版本号的情况的。

 

 

 

可以了,已经启动了

 

 

 

最后一步,记得nohup一下。

nohup java -jar official-0.0.1-SNAPSHOT.jar >/dev/null 2>&1 &

    原文作者:大壮vip
    原文地址: https://blog.csdn.net/qq_33792843/article/details/106661283
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。