IDESigner中的Lambda表达式和Java 1.8
我正在尝试将IDESigner中的Lambda表达式和Java 1.8,java,swing,lambda,java-8,Java,Swing,Lambda,Java 8,我正在尝试将Java 1.8与lambda表达式一起使用Idea UI Designer,我在maven中有: <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>ideauidesigner-maven-plugin</artifactId> <executions> <execution>
Java 1.8
与lambda表达式一起使用Idea UI Designer
,我在maven中有:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>ideauidesigner-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>javac2</goal>
</goals>
</execution>
</executions>
<configuration>
<fork>true</fork>
<debug>true</debug>
<failOnError>true</failOnError>
</configuration>
</plugin>
您是否知道如何将lambdas与
Idea UI Designer
一起使用?在有人修复插件之前,一个解决方法是将IntelliJ设置配置为将GUI作为源代码而不是二进制文件生成,然后,在运行Maven之前,在GUI designer中进行任何更改时,手动重新生成GUI源:
GridLayoutManager
),请在pom.xml
中添加com.IntelliJ:forms\u rt:7.0.3
作为编译依赖项GUI设计器的问题在于它没有一个可以使用的maven直截了当的插件,因为Intellij使用ant对target.class文件进行后期操作。您可以使用maven ant插件:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.7.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<tasks>
<path id="j2cp">
<fileset dir="${project.basedir}/antlibs" includes="*.jar"/>
</path>
<path id="j2sp">
<pathelement location="${project.basedir}/src/main/java"/>
</path>
<taskdef name="javac2" classpathref="j2cp" classname="com.intellij.ant.Javac2"/>
<javac2 destdir="${project.basedir}/target/classes">
<src refid="j2sp"/>
</javac2>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
maven antrun插件
1.7
com.sun
工具
1.7.0
系统
${java.home}/./lib/tools.jar
编译
跑
但是您需要将javac2 JAR放在/antlibs中,在我的项目中,我使用这些:
- asm-5.0.3.jar
- asm-all-7.0.1.jar
- javac2.jar
- jdom.jar
如果您使用特定的IDE布局,可能需要其他特定的JAR,如果您遗漏了某些内容,ant插件将是特定的您找到解决方案了吗?不,如果我有源代码,我可以只更新依赖项,也许你可以试着把问题发送给JetBrains?我刚刚发现问题是JetBrains实际上没有一个用于UI设计器的官方maven插件。IDESigner maven插件是由其他人编写的。如果JetBrains有一个官方插件就好了,但我想需求量还不够。所以也许我们应该试着给写这个插件的人发个短信,你和那个人有联系吗?他以前在我现在工作的地方工作过。我不认识他,但我想我可以联系他问问。我想我也会尝试向JetBrains提交一个官方插件的请求。
Failed to execute goal org.codehaus.mojo:ideauidesigner-maven-plugin:1.0-beta-1:javac2 (default) on project stockbox-chart: Execution default of goal org.codehaus.mojo:ideauidesigner-maven-plugin:1.0-beta-1:javac2 failed: 52264 -> [Help 1]
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<dependencies>
<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.7.0</version>
<scope>system</scope>
<systemPath>${java.home}/../lib/tools.jar</systemPath>
</dependency>
</dependencies>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<tasks>
<path id="j2cp">
<fileset dir="${project.basedir}/antlibs" includes="*.jar"/>
</path>
<path id="j2sp">
<pathelement location="${project.basedir}/src/main/java"/>
</path>
<taskdef name="javac2" classpathref="j2cp" classname="com.intellij.ant.Javac2"/>
<javac2 destdir="${project.basedir}/target/classes">
<src refid="j2sp"/>
</javac2>
</tasks>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>