Commit a7418a5f authored by jwc's avatar jwc

目录结构初步提交,支持swagger,lombok,docker打包

parent a229c44e
# maven-project-demo 项目模板 # maven-project-demo 项目模板
# 支持swagger,lombok # swagger
localhost:8080/doc.html
# lombok
@Data,@Slfj4 ...
# docker打包
Dockerfile 文件 /main/java/resources/docker
```
FROM centos-jdk8
ADD demo-0.0.1-SNAPSHOT.jar /opt/app/demo-0.0.1-SNAPSHOT.jar
ENV JAVA_HOME=/opt/jdk1.8.0_261
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
ENTRYPOINT [ \
"java","-Djava.security.egd=file:/dev/./urandom", \
"-Duser.timezone=Asia/Shanghai", \
"-jar","/opt/app/demo-0.0.1-SNAPSHOT.jar"]
```
自行修改以上文件。。。
我们运行下面的命令构建镜像:
```
mvn clean
mvn package docker:bulid
```
构建成功后,我们通过下面的命令查看镜像:
```
docker images
```
启动镜像:
```
#c2dba352c3c1 为镜像ID
docker run -p 8080:8080 -t c2dba352c3c1
```
...@@ -2,15 +2,19 @@ ...@@ -2,15 +2,19 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.0.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>cn.zing</groupId> <groupId>cn.zing</groupId>
<artifactId>maven-project-demo</artifactId> <artifactId>demo</artifactId>
<packaging>pom</packaging>
<version>0.0.1-SNAPSHOT</version> <version>0.0.1-SNAPSHOT</version>
<name>demo</name> <name>demo</name>
<description>项目模版</description> <description>项目模版</description>
<distributionManagement> <distributionManagement>
<repository> <repository>
<id>releases</id> <id>releases</id>
...@@ -26,10 +30,10 @@ ...@@ -26,10 +30,10 @@
</distributionManagement> </distributionManagement>
<properties> <properties>
<java.version>1.8</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<spring-boot.version>2.2.0.RELEASE</spring-boot.version> <java.version>1.8</java.version>
<docker.image.prefix>demo</docker.image.prefix>
</properties> </properties>
<dependencies> <dependencies>
...@@ -38,12 +42,16 @@ ...@@ -38,12 +42,16 @@
<artifactId>lombok</artifactId> <artifactId>lombok</artifactId>
<optional>true</optional> <optional>true</optional>
</dependency> </dependency>
<dependency>
<groupId>cn.zing.starter</groupId>
<artifactId>web-common-spring-boot-starter</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<!--web核心依赖-->
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId> <artifactId>spring-boot-configuration-processor</artifactId>
...@@ -61,8 +69,12 @@ ...@@ -61,8 +69,12 @@
<artifactId>springfox-swagger-ui</artifactId> <artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version> <version>2.9.2</version>
</dependency> </dependency>
<dependency>
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui--> <groupId>cn.zingfin</groupId>
<artifactId>common</artifactId>
<version>0.0.2-SNAPSHOT</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui-->
<dependency> <dependency>
<groupId>com.github.xiaoymin</groupId> <groupId>com.github.xiaoymin</groupId>
<artifactId>swagger-bootstrap-ui</artifactId> <artifactId>swagger-bootstrap-ui</artifactId>
...@@ -78,12 +90,18 @@ ...@@ -78,12 +90,18 @@
</exclusion> </exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!--mysql数据库驱动-->
<dependency> <dependency>
<groupId>mysql</groupId> <groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId> <artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope> <scope>runtime</scope>
</dependency> </dependency>
<!--mybatis-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.0</version>
</dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
...@@ -101,48 +119,74 @@ ...@@ -101,48 +119,74 @@
<artifactId>spring-boot-starter-data-redis</artifactId> <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency> </dependency>
</dependencies> <dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-green</artifactId>
<version>3.6.1</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.51</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>com.aliyun</groupId>
<artifactId>aliyun-java-sdk-core</artifactId>
<version>4.5.0</version>
</dependency>
<dependencyManagement> </dependencies>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build> <build>
<plugins> <plugins>
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId> <artifactId>maven-resources-plugin</artifactId>
<version>3.8.1</version> <version>3.0.2</version>
<configuration> <configuration>
<source>1.8</source> <!-- 过滤后缀为pem、pfx的证书文件 -->
<target>1.8</target> <nonFilteredFileExtensions>
<encoding>UTF-8</encoding> <nonFilteredFileExtension>pfx</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration> </configuration>
</plugin> </plugin>
<plugin> <plugin>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId> <artifactId>spring-boot-maven-plugin</artifactId>
<version>2.3.0.RELEASE</version> <version>1.5.6.RELEASE</version>
<configuration> <configuration>
<mainClass>cn.zingfin.demo.DemoApplication</mainClass> <mainClass>cn.zingfin.demo.DemoApplication</mainClass>
<layout>JAR</layout>
</configuration> </configuration>
<executions> <executions>
<execution> <execution>
<id>repackage</id>
<goals> <goals>
<goal>repackage</goal> <goal>repackage</goal>
</goals> </goals>
</execution> </execution>
</executions> </executions>
</plugin> </plugin>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>1.2.0</version>
<configuration>
<imageName>${docker.image.prefix}/${project.artifactId}</imageName>
<dockerDirectory>src/main/resources/docker</dockerDirectory>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins> </plugins>
<resources> <resources>
<resource> <resource>
...@@ -153,15 +197,16 @@ ...@@ -153,15 +197,16 @@
<!-- 打包时排除文件,可自行添加test.yml --> <!-- 打包时排除文件,可自行添加test.yml -->
<exclude>application.yml</exclude> <exclude>application.yml</exclude>
<exclude>application-dev.yml</exclude> <exclude>application-dev.yml</exclude>
<exclude>application-publish.yml</exclude>
<!-- <exclude>application-test.yml</exclude>-->
</excludes> </excludes>
</resource> </resource>
<resource> <resource>
<directory>src/main/resources</directory> <directory>src/main/resources</directory>
<filtering>true</filtering> <filtering>true</filtering>
<!-- 打包时所包含得文件,当包含与排除文件冲突时已包含文件为准 --> <!-- 打包时所包含得文件 -->
<includes> <includes>
<include>application.yml</include> <include>application.yml</include>
<include>application-dev.yml</include>
<include>application-${env}.yml</include> <include>application-${env}.yml</include>
</includes> </includes>
</resource> </resource>
......
...@@ -3,6 +3,7 @@ package cn.zingfin.demo.web.controller; ...@@ -3,6 +3,7 @@ package cn.zingfin.demo.web.controller;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
/** /**
...@@ -12,11 +13,13 @@ import org.springframework.web.bind.annotation.*; ...@@ -12,11 +13,13 @@ import org.springframework.web.bind.annotation.*;
@Api(tags = "测试接口") @Api(tags = "测试接口")
@RequestMapping("/main") @RequestMapping("/main")
@RestController @RestController
@Slf4j
public class HelloWorldController { public class HelloWorldController {
@ApiOperation("新增代理商") @ApiOperation("新增代理商")
@GetMapping("/hello") @GetMapping("/hello")
public String hello() { public String hello() {
log.info("hello world!");
return "hello world!"; return "hello world!";
} }
......
spring:
redis:
database: 5
host: 192.168.1.2
port: 6379
password: Aa11111111
timeout: 300
jedis:
pool:
max-active: 8
max-wait: -1
max-idle: 8
min-idle: 0
datasource:
url: jdbc:mysql://39.170.1.99:3306/agent?characterEncoding=utf-8&useLocalSessionState=true&autoReconnect=true
username: agent
password: "qMyWRrnPO@hcPlp@"
driver-class-name: com.mysql.jdbc.Driver
zing:
open:
api:
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlXV4b/1WUZ0J9Myvm3iAATAJsar
hKjMqBhcNVEVxVa/2zpLlQLMMEBNP5dRz5R8Y2kiAlKQI6Si5rzTEBohjTYzvIQDeBrNON9AuiYjqV8PH19
bv3YUEbVlE83wHKsuj5xJjuNR5E7ZCUdALirixzzozOaCK2damCcPhBvHd6ewoSrcACi2tmq8AqhuH1FXZl
yLYPwRgpEucj2SOeEGIPHTMH1i0lNc4nIbQ7Nle/1Li9KNvR0I02qspGfBjx+aPopzdzDu3b89uH0ncGish
IJWHK6ZwwvMmeOiqKJbJGSosXMBHIZLDrpsiCA6WJmpVYa9iRaGvMDkM3VRKwAsdcwIDAQAB"
private-key: "
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCVdXhv/VZRnQn0zK+beI
ABMAmxquEqMyoGFw1URXFVr/bOkuVAswwQE0/l1HPlHxjaSICUpAjpKLmvNMQGiGNNjO8hAN4Gs0430C6Ji
OpXw8fX1u/dhQRtWUTzfAcqy6PnEmO41HkTtkJR0AuKuLHPOjM5oIrZ1qYJw+EG8d3p7ChKtwAKLa2arwCq
G4fUVdmXItg/BGCkS5yPZI54QYg8dMwfWLSU1zichtDs2V7/UuL0o29HQjTaqykZ8GPH5o+inN3MO7dvz24
fSdwaKyEglYcrpnDC8yZ46KoolskZKixcwEchksOumyIIDpYmalVhr2JFoa8wOQzdVErACx1zAgMBAAECgg
EASjL/j9mduPbVsorLw8uXAP/wUBwdnO25tzxKicPP+FJbnUKgPfalznVH/Tn0L5O4quXDsAefxOFLDgiMK
RIc+qs1LJVZpMnv0xWvhOhMLzYrSKSUgM1A3WisKpUwmbZvsJAYofIaCgc59ZPrpvr6i37BX6KsTGmcFM0C
MohxO2gXfKiFiTxFCXxRx0T/xI2afdfbirXaNgzhZpGUkU2M9qkOwpXmf3sTdNcexvp+KFRAS09D36tZNRR
miFLWzwu+H63p1wyO/2EySM7NqCn8BVPfi+2cl5uqlb2nrHRwjjLHLszRSFDs25Zf7Bzo2u8nt3YEdUV7Ua
Je1mfZNVjXAQKBgQDYpK02os3mtF0vwD7ShfDuKMUn/cizWVoOt7QoHtwMtSupiHOkvT5CBxAzlONGuv3MR
YzNAScdu6OLpJOCANZRB0+6dbeNaVqGJOwU2xhfofglcyqiracr5fb5v2q4LCeRjr3ZieKwZRHmi6kWaUy9
GotWbyAu37q3RbH8pd52AwKBgQCwnEgV7pEz8HFzucgBtcWMe2CSto2HzzMVtw9MFAN9YjnsLPvG2IeBEKC
yYeWQB8J7txYCxyaKHpuihRakM7AF3Z1Bg0iBza2ba5jVWrWQNqsxAJQpL/vU6+Jp5SSJQdWunsTNu6zjKU
hOymk8k7KA33y0sftsHabOAFKujpuX0QKBgQC2CiIWX9T+P55yCmt/gNcDeDS6tvCXa8RVy51RfSTQdMe8j
BEIY5BV8RN3FGupumSa6fI3LPnObSYup9rfCY8MxUUEW/ghll5fi9TobXXcngAij9RKn/px06mlEGg/W7Lg
B36VtdxK9pKFE+PAFjlKSWy982CqooqFh8XYkxQMOwKBgGl9H42CDtbwMkPGXxGuag3MD9XyFj1dZIz+57M
wbRkyV5ibEdQmt2E+9k02LjFGgUL2C76jB4EOYTXEus5fVS9bvLdJ3EA0AxNHRGWDpdk63iwJxXWIhKocLw
PDa3xUh3aivLiJ9e1FVjxBqHQXYFKbqtgfSya720tGZByBb6xRAoGBAMsDJF6HyCSenpohE786xUO9AXdPe
YjM7LMZi39a7Pdsb5j5CGEblKw5+9Prcm7geEJhO1If5ohVw2xNg/3XITEf6zkV2ygCOaOTxxg2x6jA92ee
ycpa0A/d4vqEcusu5+TdapclShroRi4821LvfzZobelkarefNPd7R3azaVI2
"
\ No newline at end of file
FROM centos-jdk8
ADD demo-0.0.1-SNAPSHOT.jar /opt/app/demo-0.0.1-SNAPSHOT.jar
ENV JAVA_HOME=/opt/jdk1.8.0_261
ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH=$JAVA_HOME/bin:$PATH
ENTRYPOINT [ \
"java","-Djava.security.egd=file:/dev/./urandom", \
"-Duser.timezone=Asia/Shanghai", \
"-jar","/opt/app/demo-0.0.1-SNAPSHOT.jar"]
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment