我正在编写Kotlin并编译为JavaScript。我也有一些HTML / CSS资源。我有一个Maven项目设置,它将我的HTML资源复制到构建目录,kotlin-maven-plugin
将其outputFile
位置设置为输出目录(${project.build.directory}/js/${project.artifactId}.js
)的子目录。使用maven构建时,其行为完全符合预期,我的输出目录包含js
文件夹中的已编译JavaScript文件以及相应位置的HTML / CSS文件。
但是,当我将项目导入IntelliJ时,它并不尊重pom.xml中设置的outputFile
位置,而是将生成的JavScript文件放入target\classes
。
我可以在导入后通过进入Project Structure > Project Settings > Modules > Paths > Compiler Output > Output Path
并将其更改为target\js
来解决此问题,但我希望能够以不需要此步骤的方式设置pom.xml。 / p>
在相关的说明中,为什么设置输出路径不会导致我的HTML / CSS文件被放入target\js
? resource
副本似乎没有遵守输出路径。
编辑:这是pom.xml excert:
<plugin>
<artifactId>kotlin-maven-plugin</artifactId>
<groupId>org.jetbrains.kotlin</groupId>
<version>${kotlin.version}</version>
<executions>
<execution>
<id>js</id>
<goals>
<goal>js</goal>
</goals>
<configuration>
<outputFile>${project.build.directory}/js/${project.artifactId}.js</outputFile>
</configuration>
</execution>
</executions>
</plugin>
答案 0 :(得分:1)
这看起来已经解决,或者还有其他选择。从评论中提到的问题到问题(https://youtrack.jetbrains.com/issue/KT-6749):
在IntelliJ中导入maven项目时,如果选择“使用Maven输出目录”,则输出路径将设置为$ {project.build.outputDirectory},默认情况下为$ {project.build.directory } / classes(有关详细信息,请参阅http://maven.apache.org/pom.html。)
以下内容应该有效:
<build>
<outputDirectory>${project.build.directory}/js</outputDirectory>
...
</build>
目前,参数
outputFile
(kotlin-maven-plugin, goal:js
)的默认值为${project.build.directory}/js/${project.artifactId}.js
。似乎应该更改为
${project.build.outputDirectory}/${project.artifactId}.js
(提交https://github.com/JetBrains/kotlin/commit/0b35989367291e88568567a293ed7224f809d605)