...
 
Commits (3)
### 使用教程
本插件的作用是了提供一个网页服务器,展示我们项目中的jacoco、javadoc等maven插件生成的文档
![首页](doc/TIM截图20191109134018.png)
![单元测试报告](doc/TIM截图20191109134110.png)
### 使用步骤
1. 启动服务器 document-server,这个服务器需要redis缓存,默认工作目录${user.home}/.site-server
2. 如果没有自己编译 document-upload-maven-plugin,可以选择引入以下仓库地址
```$xslt
<pluginRepositories>
<pluginRepository>
<id>yunmaozj</id>
<url>http://nexus.cqwzxt.com/repository/yunmaozj/</url>
</pluginRepository>
</pluginRepositories>
```
3. 添加编译插件
```$xslt
<plugin>
<groupId>cn.yunmaozj.tools</groupId>
<artifactId>site-upload-maven-plugin</artifactId>
<version>1.0.7-SNAPSHOT</version>
<configuration>
<directories>
<!-- 需要上传的目录 这个可以上传多个-->
<directory>
<!-- 项目 名字-->
<name>${project.artifactId}-apidocs</name>
<!-- 资源路径 -->
<path>${build.directory}/site/apidocs/</path>
</directory>
</directories>
<!-- 站点地址 和端口-->
<siteServerHost>${siteServerHost}</siteServerHost>
<siteServerPort>${siteServerPort}</siteServerPort>
</configuration>
</plugin>
```
4. 项目在编译打包的时候可以使用命令上传文档
```$xslt
mvn clean package document-upload:upload
```
5. 登录说明
登录账户是通过设置在pom文件中的 id来作为账户名,有一个默认账户root,账户信息保存在${workspace}/security/user/ 文件夹下面,密码是随机的六位密码
```$xslt
<developers>
<developer>
<id>zhongmh</id>
<name>钟明宏</name>
<email>zhongmh@yunmaozj.com</email>
<roles>
<role>master</role>
</roles>
</developer>
</developers>
```
![](doc/TIM截图20191109135306.png)
......@@ -132,7 +132,7 @@
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>cn.yunmaozj.SiteServer</mainClass>
<mainClass>cn.yunmaozj.DocumentServer</mainClass>
</configuration>
<executions>
<execution>
......
......@@ -71,11 +71,19 @@ public class IndexController {
if (isRole || developer.exitProject(file.getName())) {
html.append("<tr>");
//项目名字
html.append("<td>").append("<button type=\"button\" class=\"btn btn-link\" url='/").append(file.getName()).append("/index.html'>").append(file.getName()).append("</button>").append("</td>");
html.append("<td>").append("<button type=\"button\" class=\"btn btn-link\"")
.append("url='/").append(file.getName()).append("/index.html'>").append(file.getName()).append("</button>").append("</td>");
html.append("<td>").append(projectAttribute.getVersion()).append("</td>");
//项目时间
html.append("<td>").append(DateFormatUtils.format(file.lastModified(), "yyyy-MM-dd HH:mm:ss")).append("</td>");
html.append("<td>").append(projectAttribute.getDescription()).append("</td>");
if (projectAttribute.getDescription() != null && projectAttribute.getDescription().length() > 20) {
html.append("<td><button type='button' class='btn btn-link' title='").append(projectAttribute.getDescription()).append("' data-toggle=\"tooltip\" data-placement=\"top\"")
.append("url='/").append(file.getName()).append("/index.html'>");
html.append(projectAttribute.getDescription().substring(0, 20))
.append("</button></td>");
} else {
html.append("<td>").append(projectAttribute.getDescription()).append("</td>");
}
//是有有删除标记
if (isRole) {
html.append("<td>").append("<button type=\"button\" class=\"btn btn-danger\" url='/del/").append(file.getName()).append("'>删除</button>").append("</td>");
......@@ -88,14 +96,15 @@ public class IndexController {
html.append("</body>");
html.append("<script type=\"text/javascript\" src=\"/jquery-3.4.1.min.js\" ></script>");
html.append("<script>");
html.append("$(\".btn-danger\").click(function(){\n" +
"\t\t\tvar url = $(this).attr(\"url\");\n" +
"\t\t\twindow.location=url;\n" +
"\t\t})\n" +
"\t\t$(\".btn-link\").click(function(){\n" +
"\t\t\tvar url = $(this).attr(\"url\");\n" +
"\t\t\twindow.location=url;\n" +
"\t\t})");
html.append("$(\".btn-danger\").click(function(){\n")
.append("\t\t\tvar url = $(this).attr(\"url\");\n")
.append("\t\t\twindow.location=url;\n")
.append("\t\t})\n")
.append("\t\t$(\".btn-link\").click(function(){\n")
.append("\t\t\tvar url = $(this).attr(\"url\");\n")
.append("if(url == undefined)return;")
.append("\t\t\twindow.location=url;\n")
.append("\t\t})");
html.append("</script>");
html.append("</html>");
response.setContentType("text/html;charset=UTF-8");
......