为何Vaadin的CONNECT_JAVA_SOURCE_FOLDER_TOKEN属性不生效?如何配置javaSourceFolder
Vaadin 修改 javaSourceFolder 配置的正确方法
CONNECT_JAVA_SOURCE_FOLDER_TOKEN 对应的 vaadin.javaSourceFolder 属于构建阶段专属属性,Vaadin 设计逻辑中会在构建完成后将该属性从运行时配置中移除,因此运行时配置该属性不会生效,必须在 Vaadin 构建插件的配置项中定义,具体配置方式根据使用的构建工具区分:
Maven 项目配置
在 pom.xml 的 vaadin-maven-plugin 配置块的 build-frontend 目标下新增 javaSourceFolder 参数即可:
<plugin> <groupId>com.vaadin</groupId> <artifactId>vaadin-maven-plugin</artifactId> <version>${vaadin.version}</version> <executions> <execution> <goals> <goal>build-frontend</goal> </goals> <configuration> <!-- 替换为你自定义的Java源码目录路径 --> <javaSourceFolder>src/main/custom-java-src</javaSourceFolder> </configuration> </execution> </executions> </plugin>
Gradle 项目配置
Groovy DSL(build.gradle)
直接在 vaadin 配置块中声明属性:
vaadin { javaSourceFolder = 'src/main/custom-java-src' }
Kotlin DSL(build.gradle.kts)
vaadin { javaSourceFolder.set("src/main/custom-java-src") }
注意事项
- 配置修改完成后需要重新执行完整构建命令才会生效:Maven 执行
mvn clean install,Gradle 执行./gradlew clean build - 不要在
application.properties、application.yml或者运行时启动参数中配置vaadin.javaSourceFolder,这类运行时配置会被 Vaadin 自动过滤,不会生效 - 多模块项目需要将该配置写在执行
build-frontend任务的前端入口子模块中,不要配置在父模块或者公共依赖模块中
内容的提问来源于stack exchange,提问作者Helmer Barcos
相关产品推荐
相关产品推荐

