Maven IJ Designer post

This commit is contained in:
Tobias Manske 2021-02-23 04:13:25 +01:00
parent 48c5db6577
commit 528b6dd3c2
Signed by: tobias
GPG Key ID: D5914DC71F2F9352
3 changed files with 145 additions and 26 deletions

1
.gitignore vendored
View File

@ -14,3 +14,4 @@ hugo.darwin
hugo.linux
# End of https://www.toptal.com/developers/gitignore/api/hugo
docs/index.xml

View File

@ -0,0 +1,98 @@
---
title: "2021 02 23 Maven Ij Designer"
date: 2021-02-23T03:59:59+01:00
categories:
- software
tags:
- hacking
- english
- software engineering
- maven
summary: Ever wanted to compile IntelliJ IDEA GUI-Designer forms with maven? I've found a 2021 solution.
showTOC: false
---
In 2021 I worked in a small team of students on an old fashioned Java swing application. To design our forms rather fast, we chose to opt for the IJ-GUI designer.
That was a rather annoying mistake, trying to package that thing just hours before the deadline.
We then opted to just let IntelliJ compile the .forms into .java directly, which then cluttered our version control.
So today I present you a minimal `pom.xml` compiling forms on the fly. A complete minimal working example can be found on my private git: [git.tobiasmanske.de](https://git.tobiasmanske.de/user/rad4day/public/intellij-forms-maven-example/tree/)
```xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>de.tobiasmanske</groupId>
<artifactId>example</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
<intellij.version>203.7148.57</intellij.version>
</properties>
<repositories>
<repository>
<id>jetbrains.releases</id>
<url>https://www.jetbrains.com/intellij-repository/releases</url>
</repository>
<repository>
<id>jetbrains.3rdparty</id>
<url>https://dl.bintray.com/jetbrains/intellij-third-party-dependencies</url>
</repository>
</repositories>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<phase>compile</phase>
<configuration>
<target>
<property name="compile_classpath" refid="maven.runtime.classpath"/>
<path id="j2cp">
<pathelement path="${compile_classpath}"/>
</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">
<classpath refid="j2cp"/>
<src refid="j2sp"/>
</javac2>
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>com.jetbrains.intellij.java</groupId>
<artifactId>java-gui-forms-rt</artifactId>
<version>${intellij.version}</version>
</dependency>
<dependency>
<groupId>com.jetbrains.intellij.java</groupId>
<artifactId>java-compiler-ant-tasks</artifactId>
<version>${intellij.version}</version>
</dependency>
</dependencies>
</project>
```
That's all for today, I hope this helped you, so that you don't struggle with it for as long.

View File

@ -2,9 +2,54 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://tobiasmanske.de/posts/2021-02-23-maven-ij-designer/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/categories/</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/english/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/hacking/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/maven/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/posts/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/categories/software/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/software-engineering/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/</loc>
<lastmod>2021-02-23T03:59:59+01:00</lastmod>
</url>
<url>
@ -17,11 +62,6 @@
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/posts/</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/studium/</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
@ -32,16 +72,6 @@
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/</loc>
<lastmod>2020-12-05T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/posts/2020-08-30-studium-tips/</loc>
<lastmod>2020-08-31T00:00:00+00:00</lastmod>
@ -67,11 +97,6 @@
<lastmod>2020-01-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/english/</loc>
<lastmod>2020-01-02T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/categories/events/</loc>
<lastmod>2020-01-02T00:00:00+00:00</lastmod>
@ -117,11 +142,6 @@
<lastmod>2019-03-21T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/hacking/</loc>
<lastmod>2018-04-07T00:00:00+00:00</lastmod>
</url>
<url>
<loc>https://tobiasmanske.de/tags/hardware/</loc>
<lastmod>2018-04-07T00:00:00+00:00</lastmod>