【问题标题】:How do I make IntelliJ respect Maven Kotlin plugin output directory?如何让 IntelliJ 尊重 Maven Kotlin 插件输出目录?
【发布时间】:2015-02-08 00:36:03
【问题描述】:

我正在编写 Kotlin 并编译为 JavaScript。我也有一些 HTML/CSS 资源。我有一个 Maven 项目设置,它将我的 HTML 资源复制到构建目录,kotlin-maven-pluginoutputFile 位置设置为输出目录 (${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。

在相关说明中,为什么设置输出路径不会导致我的 HTML/CSS 文件被放入target\jsresource 副本似乎不尊重输出路径。

编辑:这里是 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>

【问题讨论】:

  • 如果您投反对票,请说明问题的问题所在,以便我改进。
  • 我没有投反对票,但也许您可以从您的 POM 中添加相关的kotlin-maven-plugin sn-p。
  • 看起来像错误,请通过简单的示例在the tracker 中创建一个关于它的问题。谢谢!
  • 其实已经有这样的问题了:youtrack.jetbrains.com/issue/KT-6749
  • @AndreyBreslav 链接的问题的最终 cmets 在下面的答案中,已解决或有替代方案。

标签: maven intellij-idea kotlin intellij-14


【解决方案1】:

这看起来已经解决了,或者还有其他选择。从cmets中提到的问题到问题(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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多