[]
在活字格设计器中第一次运行Java插件,webapi或者Security Provider时,会触发一次防火墙提示,一般点击同意即可,触发防火墙警告是由于活字格设计器提供了可以调试开发者提供的java代码的功能(通过JDWP),调试需要通过特定的端口与调试器进行通信,而防火墙通常会监控和限制端口的访问。如果防火墙配置严格,可能会阻止远程调试的连接。
由于活字格在执行java插件过程中需要使用java程序加载您提供的jar包,所以在依赖可能会有冲突。
例如您在自定义的java安全提供程序中使用了jackson-databind来处理文件格式为json的持久化配置。在项目的pom.xml中写入了以下代码:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.15.2</version>
</dependency>
这会导致打包错误,因为打包程序中也提供了jackson-databind 依赖,依赖冲突。如下图所示:
遇到这种问题应该先尝试把依赖改为 <scope>provided</scope>。
说明:
即使打包成功,在运行时java插件如果遇到了不能正常使用的问题也应该考虑是否有冲突依赖,您可以查看java adapter的日志获得更多信息。日志路径为:%temp%\ForguncyDesignerLog\ForguncyJavaAdapter。
这里会列出java打包程序和java adapter 的依赖树,您应该避免在生成jar包时把这些库打包到jar包中,这通常会解决大部分问题。
打包程序中:
groupId | artifactId | version |
---|---|---|
com.fasterxml.jackson.core | jackson-databind | 2.15.2 |
com.fasterxmljackson.core | jackson-annotations | 2.15.2 |
com.fasterxmljackson.core | jackson-core | 2.15.2 |
com.grapecity.forguncy | forguncy-commands | 10.0.0.0 |
com.grapecity.forguncy | forguncy-logger-abstractions | 10.0.0.0 |
com.grapecity.forguncy | forguncy-plugin-common | 10.0.0.0 |
com.grapecity.forguncy | forguncy-security-provider | 10.0.0.0 |
com.grapecity.forguncy | forguncy-server-api | 10.0.0.0 |
javax.servlet | javax.servlet-api | 3.1.0 |
org.projectlombok | lombok | 1.18.30 |
Java Adapter中的依赖:
groupId | artifactId | Version |
---|---|---|
org.springframework.boot | spring-boot-starter-web | 2.7.18 |
org.springframework.boot | spring-boot-starter | 2.7.18 |
org.springframework.boot | spring-boot | 2.7.18 |
org.springframework.boot | spring-boot-autoconfigure | 2.7.18 |
org.springframework.boot | spring-boot-starter-logging | 2.7.18 |
jakarta.annotation | jakarta.annotation-api | 1.3.5 |
org.yaml | snakeyaml | 1.30 |
org.springframework.boot | spring-boot-starter-json | 2.7.18 |
com.fasterxml.jackson.datatype | jackson-datatype-jdk8 | 2.13.5 |
com.fasterxml.jackson.datatype | jackson-datatype-jsr310 | 2.13.5 |
com.fasterxml.jackson.module | jackson-module-parameter-names | 2.13.5 |
org.springframework | spring-web | 5.3.31 |
org.springframework | spring-beans | 5.3.31 |
org.springframework | spring-webmvc | 5.3.31 |
org.springframework | spring-aop | 5.3.31 |
org.springframework | spring-context | 5.3.31 |
org.springframework | spring-expression | 5.3.31 |
org.springframework.boot | spring-boot-starter-undertow | 2.7.18 |
io.undertow | undertow-core | 2.2.28.Final |
org.jboss.logging | jboss-logging | 3.4.3.Final |
org.jboss.xnio | xnio-api | 3.8.7.Final |
org.wildfly.common | wildfly-common | 1.5.4.Final |
org.wildfly.client | wildfly-client-config | 1.0.1.Final |
org.jboss.xnio | xnio-nio | 3.8.7.Final |
org.jboss.threads | jboss-threads | 3.1.0.Final |
io.undertow | undertow-servlet | 2.2.28.Final |
io.undertow | undertow-websockets-jsr | 2.2.28.Final |
jakarta.servlet | jakarta.servlet-api | 4.0.4 |
jakarta.websocket | jakarta.websocket-api | 1.1.2 |
org.apache.tomcat.embed | tomcat-embed-el | 9.0.83 |
org.slf4j | slf4j-api | 1.7.36 |
org.springframework | spring-core | 5.3.31 |
org.springframework | spring-jcl | 5.3.31 |
org.apache.httpcomponents | httpclient | 4.5.13 |
org.apache.httpcomponents | httpcore | 4.4.16 |
commons-codec | commons-codec | 1.15 |
ch.qos.logback | logback-classic | 1.2.12 |
ch.qos.logback | logback-core | 1.2.12 |
org.apache.logging.log4j | log4j-to-slf4j | 2.17.2 |
org.apache.logging.log4j | log4j-api | 2.17.2 |
org.slf4j | jul-to-slf4j | 1.7.36 |
com.grapecity.forguncy | forguncy-commands | 10.0.0.0 |
com.grapecity.forguncy | forguncy-server-api | 10.0.0.0 |
com.grapecity.forguncy | forguncy-security-provider | 10.0.0.0 |
com.grapecity.forguncy | forguncy-logger | 1.0 |
com.influxdb | influxdb-client-java | 6.6.0 |
com.influxdb | influxdb-client-core | 6.6.0 |
com.influxdb | influxdb-client-utils | 6.6.0 |
com.squareup.okio | okio | 3.2.0 |
com.squareup.okio | okio-jvm | 3.2.0 |
org.jetbrains.kotlin | kotlin-stdlib-jdk8 | 1.6.21 |
org.jetbrains.kotlin | kotlin-stdlib-jdk7 | 1.6.21 |
com.squareup.okhttp3 | okhttp | 4.9.3 |
org.jetbrains.kotlin | kotlin-stdlib | 1.6.21 |
org.jetbrains.kotlin | kotlin-stdlib-common | 1.6.21 |
org.jetbrains | annotations | 13.0 |
com.squareup.retrofit2 | retrofit | 2.9.0 |
com.squareup.okhttp3 | logging-interceptor | 4.9.3 |
org.apache.commons | commons-csv | 1.9.0 |
com.google.code.gson | gson | 2.9.1 |
io.reactivex.rxjava3 | rxjava | 3.1.5 |
org.reactivestreams | reactive-streams | 1.0.4 |
com.squareup.retrofit2 | adapter-rxjava3 | 2.9.0 |
io.gsonfire | gson-fire | 1.8.5 |
com.squareup.retrofit2 | converter-scalars | 2.9.0 |
com.squareup.retrofit2 | converter-gson | 2.9.0 |
com.google.code.findbugs | jsr305 | 3.0.2 |
com.grapecity.forguncy | forguncy-logger-abstractions | 10.0.0.0 |
com.fasterxml.jackson.core | jackson-databind | 2.15.2 |
com.fasterxml.jackson.core | jackson-core | 2.15.2 |
com.fasterxml.jackson.core | jackson-annotations | 2.15.2 |
org.projectlombok | lombok | 1.18.30 |
注意:
以上依赖可能会有变动。
如果仍然遇到无法解决的错误,请尝试联系活字格的技术支持人员。
关于构建工具,下载构建工具的时候,可能会被系统安全拦截。在安全工具中,允许即可。以下为 win11 示例: