Commit 81fffd22 by zhangxingmin

push

parent 530b054f
package com.yd.oss.api.config;
import org.jodconverter.core.office.OfficeManager;
import org.jodconverter.local.office.LocalOfficeManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.File;
public class OfficeManagerHolder {
private static final Logger logger = LoggerFactory.getLogger(OfficeManagerHolder.class);
private static OfficeManager instance = null;
private static final Object lock = new Object();
public static OfficeManager getInstance(String libreOfficeHome) throws Exception {
if (instance == null) {
synchronized (lock) {
if (instance == null) {
logger.info("正在启动 LibreOffice (home: {}) ...", libreOfficeHome);
instance = LocalOfficeManager.builder()
.officeHome(new File(libreOfficeHome))
.build();
instance.start();
logger.info("LibreOffice 启动成功");
}
}
}
return instance;
}
public static void stop() {
if (instance != null) {
try {
instance.stop();
logger.info("LibreOffice 已停止");
} catch (Exception e) {
logger.error("停止 LibreOffice 失败", e);
}
instance = null;
}
}
}
\ No newline at end of file
package com.yd.oss.api.controller;
import com.yd.oss.api.utils.LocalDocumentConversionService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpStatus;
import org.springframework.http.MediaType;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.*;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
/**
* 文档转换接口
* 提供将 Office 文档(Word/Excel/PPT)转换为 PDF/HTML/图片等格式的 HTTP 接口。
* 供其他微服务通过内网调用。
*/
@RestController
@RequestMapping("/convert")
public class DocumentConvertController {
private static final Logger logger = LoggerFactory.getLogger(DocumentConvertController.class);
@Autowired
private LocalDocumentConversionService conversionService;
/**
* 将指定 URL 的文档转换为目标格式,并返回字节流。
*
* @param fileUrl 源文件 URL(支持 HTTP/HTTPS/OSS)
* @param targetFormat 目标格式,如 pdf、html、png、jpg 等,默认 pdf
* @return 转换后的文件字节流,Content-Type 根据格式自动设置
*/
@PostMapping("/file")
public ResponseEntity<byte[]> convert(
@RequestParam("fileUrl") String fileUrl,
@RequestParam(value = "targetFormat", defaultValue = "pdf") String targetFormat) {
logger.info("收到转换请求: fileUrl={}, targetFormat={}", fileUrl, targetFormat);
try {
byte[] result = conversionService.convertToBytes(fileUrl, targetFormat);
HttpHeaders headers = new HttpHeaders();
// 根据目标格式设置 Content-Type
MediaType mediaType = getMediaType(targetFormat);
headers.setContentType(mediaType);
// 可选:设置下载文件名
String filename = extractFileName(fileUrl) + "." + targetFormat;
try {
headers.setContentDispositionFormData("attachment",
URLEncoder.encode(filename, StandardCharsets.UTF_8.name()));
} catch (UnsupportedEncodingException e) {
// 忽略
}
logger.info("转换成功,返回字节数: {}", result.length);
return new ResponseEntity<>(result, headers, HttpStatus.OK);
} catch (Exception e) {
logger.error("文档转换失败: fileUrl={}, targetFormat={}", fileUrl, targetFormat, e);
return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERROR)
.body(("转换失败: " + e.getMessage()).getBytes(StandardCharsets.UTF_8));
}
}
private MediaType getMediaType(String format) {
if (format == null) return MediaType.APPLICATION_OCTET_STREAM;
switch (format.toLowerCase()) {
case "pdf":
return MediaType.APPLICATION_PDF;
case "html":
return MediaType.TEXT_HTML;
case "png":
return MediaType.IMAGE_PNG;
case "jpg":
case "jpeg":
return MediaType.IMAGE_JPEG;
default:
return MediaType.APPLICATION_OCTET_STREAM;
}
}
private String extractFileName(String url) {
if (url == null) return "converted";
int lastSlash = url.lastIndexOf('/');
if (lastSlash >= 0 && lastSlash < url.length() - 1) {
String name = url.substring(lastSlash + 1);
int dot = name.lastIndexOf('.');
return dot > 0 ? name.substring(0, dot) : name;
}
return "converted";
}
}
\ No newline at end of file
package com.yd.oss.api.utils;
import com.yd.oss.api.config.OfficeManagerHolder;
import org.jodconverter.core.DocumentConverter;
import org.jodconverter.core.office.OfficeException;
import org.jodconverter.local.LocalConverter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardCopyOption;
import java.util.UUID;
@Service
public class LocalDocumentConversionService {
private static final Logger logger = LoggerFactory.getLogger(LocalDocumentConversionService.class);
@Value("${jodconverter.libreoffice.home:}")
private String libreOfficeHome;
private DocumentConverter converter;
@PostConstruct
public void init() {
if (libreOfficeHome == null || libreOfficeHome.trim().isEmpty()) {
libreOfficeHome = System.getenv("LIBREOFFICE_HOME");
}
if (libreOfficeHome == null || libreOfficeHome.trim().isEmpty()) {
String os = System.getProperty("os.name").toLowerCase();
if (os.contains("win")) {
libreOfficeHome = "D:/LibreOffice";
} else if (os.contains("linux")) {
libreOfficeHome = "/opt/libreoffice_standalone/libreoffice7.4";
} else if (os.contains("mac")) {
libreOfficeHome = "/Applications/LibreOffice.app/Contents";
} else {
throw new RuntimeException("无法确定 LibreOffice 安装路径,请通过配置或环境变量设置");
}
logger.warn("未配置 libreOfficeHome,使用默认路径: {}", libreOfficeHome);
}
try {
OfficeManagerHolder.getInstance(libreOfficeHome);
converter = LocalConverter.builder()
.officeManager(OfficeManagerHolder.getInstance(libreOfficeHome))
.build();
logger.info("JodConverter 初始化成功,LibreOffice 路径: {}", libreOfficeHome);
} catch (Exception e) {
logger.error("JodConverter 初始化失败,请检查 LibreOffice 安装", e);
throw new RuntimeException("JodConverter 初始化失败", e);
}
}
public byte[] convertToPdfBytes(String fileUrl) throws Exception {
return convertToBytes(fileUrl, "pdf");
}
public byte[] convertToBytes(String fileUrl, String targetExtension) throws Exception {
if (targetExtension.startsWith(".")) {
targetExtension = targetExtension.substring(1);
}
if (targetExtension == null || targetExtension.trim().isEmpty()) {
throw new IllegalArgumentException("目标扩展名不能为空");
}
logger.info("开始转换文档: {} -> 格式: {}", fileUrl, targetExtension);
Path tempInput = Files.createTempFile("convert_", "_" + UUID.randomUUID());
try (InputStream in = new URL(fileUrl).openStream()) {
Files.copy(in, tempInput, StandardCopyOption.REPLACE_EXISTING);
}
logger.info("源文件下载到临时路径: {}", tempInput.toAbsolutePath());
Path tempOutput = Files.createTempFile("converted_", "." + targetExtension);
try {
converter.convert(tempInput.toFile())
.to(tempOutput.toFile())
.execute();
logger.info("转换完成,临时输出: {}", tempOutput.toAbsolutePath());
byte[] resultBytes = Files.readAllBytes(tempOutput);
logger.info("转换结果大小: {} bytes", resultBytes.length);
return resultBytes;
} catch (OfficeException e) {
logger.error("转换失败 (格式: {})", targetExtension, e);
throw new Exception("文档转换失败 (格式: " + targetExtension + "): " + e.getMessage(), e);
} finally {
try {
Files.deleteIfExists(tempInput);
Files.deleteIfExists(tempOutput);
} catch (Exception ignored) {
logger.warn("清理临时文件失败");
}
}
}
@PreDestroy
public void destroy() {
OfficeManagerHolder.stop();
}
}
\ No newline at end of file
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
<orderEntry type="library" name="Maven: io.prometheus:simpleclient_tracer_otel_agent:0.12.0" level="project" /> <orderEntry type="library" name="Maven: io.prometheus:simpleclient_tracer_otel_agent:0.12.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.11" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.spring:spring-context-support:1.0.11" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-context:3.1.1" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2021.0.1.0" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-starter-alibaba-nacos-config:2021.0.1.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-web:2.6.6" level="project" />
...@@ -184,11 +184,11 @@ ...@@ -184,11 +184,11 @@
<orderEntry type="library" name="Maven: io.swagger.core.v3:swagger-models:2.2.9" level="project" /> <orderEntry type="library" name="Maven: io.swagger.core.v3:swagger-models:2.2.9" level="project" />
<orderEntry type="library" name="Maven: org.webjars:swagger-ui:4.18.2" level="project" /> <orderEntry type="library" name="Maven: org.webjars:swagger-ui:4.18.2" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-resource-server:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-resource-server:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-core:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-core:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-jose:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-jose:5.6.9" level="project" />
<orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:9.14" level="project" /> <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:9.14" level="project" />
<orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" /> <orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.5" level="project" /> <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.5" level="project" />
...@@ -208,7 +208,7 @@ ...@@ -208,7 +208,7 @@
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" /> <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" /> <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.redisson:redisson:3.20.0" level="project" /> <orderEntry type="library" name="Maven: org.redisson:redisson:3.20.0" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.69.Final" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.69.Final" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.69.Final" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-codec:4.1.69.Final" level="project" />
...@@ -232,11 +232,11 @@ ...@@ -232,11 +232,11 @@
<orderEntry type="library" name="Maven: com.yd:yd-feign:1.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: com.yd:yd-feign:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:3.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.1.1" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.15.1" level="project" /> <orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.15.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
<orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6.1" level="project" /> <orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6.1" level="project" />
...@@ -284,5 +284,13 @@ ...@@ -284,5 +284,13 @@
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" /> <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.jodconverter:jodconverter-core:4.4.7" level="project" />
<orderEntry type="library" name="Maven: org.jodconverter:jodconverter-local:4.4.7" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:juh:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:jurt:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:ridl:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:unoil:4.1.2" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" />
</component> </component>
</module> </module>
\ No newline at end of file
...@@ -28,15 +28,15 @@ ...@@ -28,15 +28,15 @@
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-autoconfigure:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" /> <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-commons:3.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.9" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" /> <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: com.yd:yd-common:1.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: com.yd:yd-common:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-openapi3-spring-boot-starter:4.3.0" level="project" /> <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-openapi3-spring-boot-starter:4.3.0" level="project" />
<orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:4.3.0" level="project" /> <orderEntry type="library" name="Maven: com.github.xiaoymin:knife4j-core:4.3.0" level="project" />
......
...@@ -120,5 +120,30 @@ ...@@ -120,5 +120,30 @@
<artifactId>xmlbeans</artifactId> <artifactId>xmlbeans</artifactId>
</dependency> </dependency>
<!-- JodConverter 文档转换 -->
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-core</artifactId>
<version>4.4.7</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.4.7</version>
</dependency>
<!-- iText PDF 处理 -->
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itextpdf</artifactId>
<version>5.5.13</version>
</dependency>
<dependency>
<groupId>com.itextpdf</groupId>
<artifactId>itext-asian</artifactId>
<version>5.2.0</version>
</dependency>
</dependencies> </dependencies>
</project> </project>
...@@ -134,7 +134,6 @@ ...@@ -134,7 +134,6 @@
<orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-commons:2021.0.1.0" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.cloud:spring-cloud-alibaba-commons:2021.0.1.0" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.4.2" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-client:1.4.2" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.4.2" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-common:1.4.2" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.5" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpasyncclient:4.1.5" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.15" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpcore-nio:4.4.15" level="project" />
<orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.4.2" level="project" /> <orderEntry type="library" name="Maven: com.alibaba.nacos:nacos-api:1.4.2" level="project" />
...@@ -163,11 +162,11 @@ ...@@ -163,11 +162,11 @@
<orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.29" level="project" /> <orderEntry type="library" name="Maven: org.yaml:snakeyaml:1.29" level="project" />
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-security:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.18" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-aop:5.3.18" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-config:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-web:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-resource-server:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-resource-server:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-core:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-core:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-jose:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-oauth2-jose:5.6.9" level="project" />
<orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:9.14" level="project" /> <orderEntry type="library" name="Maven: com.nimbusds:nimbus-jose-jwt:9.14" level="project" />
<orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" /> <orderEntry type="library" name="Maven: com.github.stephenc.jcip:jcip-annotations:1.0-1" level="project" />
<orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.5" level="project" /> <orderEntry type="library" name="Maven: io.jsonwebtoken:jjwt-api:0.11.5" level="project" />
...@@ -192,8 +191,8 @@ ...@@ -192,8 +191,8 @@
<orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" /> <orderEntry type="library" name="Maven: org.springframework.boot:spring-boot-starter-aop:2.6.6" level="project" />
<orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" /> <orderEntry type="library" name="Maven: org.aspectj:aspectjweaver:1.9.7" level="project" />
<orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" /> <orderEntry type="library" name="Maven: org.projectlombok:lombok:1.18.16" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-core:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.2" level="project" /> <orderEntry type="library" name="Maven: org.springframework.security:spring-security-crypto:5.6.9" level="project" />
<orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.18" level="project" /> <orderEntry type="library" name="Maven: org.springframework:spring-expression:5.3.18" level="project" />
<orderEntry type="library" name="Maven: org.redisson:redisson:3.20.0" level="project" /> <orderEntry type="library" name="Maven: org.redisson:redisson:3.20.0" level="project" />
<orderEntry type="library" name="Maven: io.netty:netty-common:4.1.69.Final" level="project" /> <orderEntry type="library" name="Maven: io.netty:netty-common:4.1.69.Final" level="project" />
...@@ -220,11 +219,12 @@ ...@@ -220,11 +219,12 @@
<orderEntry type="library" name="Maven: com.yd:yd-feign:1.0-SNAPSHOT" level="project" /> <orderEntry type="library" name="Maven: com.yd:yd-feign:1.0-SNAPSHOT" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-starter-openfeign:3.1.1" level="project" />
<orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.1.1" level="project" /> <orderEntry type="library" name="Maven: org.springframework.cloud:spring-cloud-openfeign-core:3.1.1" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-core:11.8" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" /> <orderEntry type="library" name="Maven: io.github.openfeign:feign-slf4j:11.8" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form-spring:3.8.0" level="project" />
<orderEntry type="library" name="Maven: commons-fileupload:commons-fileupload:1.3.3" level="project" />
<orderEntry type="library" name="Maven: commons-io:commons-io:2.11.0" level="project" />
<orderEntry type="library" name="Maven: io.github.openfeign.form:feign-form:3.8.0" level="project" />
<orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.15.1" level="project" /> <orderEntry type="library" name="Maven: com.aliyun.oss:aliyun-sdk-oss:3.15.1" level="project" />
<orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" /> <orderEntry type="library" name="Maven: org.apache.httpcomponents:httpclient:4.5.13" level="project" />
<orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6.1" level="project" /> <orderEntry type="library" name="Maven: org.jdom:jdom2:2.0.6.1" level="project" />
...@@ -280,5 +280,13 @@ ...@@ -280,5 +280,13 @@
<orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" /> <orderEntry type="library" name="Maven: org.apache.commons:commons-compress:1.19" level="project" />
<orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" /> <orderEntry type="library" name="Maven: com.github.virtuald:curvesapi:1.06" level="project" />
<orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" /> <orderEntry type="library" name="Maven: org.apache.xmlbeans:xmlbeans:3.1.0" level="project" />
<orderEntry type="library" name="Maven: org.jodconverter:jodconverter-core:4.4.7" level="project" />
<orderEntry type="library" name="Maven: org.jodconverter:jodconverter-local:4.4.7" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:juh:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:jurt:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:ridl:4.1.2" level="project" />
<orderEntry type="library" name="Maven: org.openoffice:unoil:4.1.2" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itextpdf:5.5.13" level="project" />
<orderEntry type="library" name="Maven: com.itextpdf:itext-asian:5.2.0" level="project" />
</component> </component>
</module> </module>
\ 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