WildFly Swarm Alpha2
We’ve been churning through the improvements and fixes for Alpha2!
Windows
All the Windows issues are now resolved. You can enjoy the benefits of WildFly Swarm on your operating system of choice.
Modify your Application from Alpha1
We’ve made a few changes to how the plugin works which means that you will need to update any applications that are already utilizing Alpha1:
-
Remove the
execution
phase from the wildfly-swarm-plugin -
Change the goal of the wildfly-swarm-plugin from
create
topackage
-
Remove the
provided
scope from all WildFly Swarm dependencies in yourpom.xml
Weld and JAX-RS
There were some WildFly modules missing when you wanted to use Weld with JAX-RS, so we’ve created a new fraction to cater for this combination. Simply add the following dependency:
<dependency>
<groupId>org.wildfly.swarm</groupId>
<artifactId>wildfly-swarm-weld-jaxrs</artifactId>
<version>${version.wildfly-swarm}</version>
</dependency>
JPA
This release brings initial support for JPA projects. There are improvements planned
for Alpha3 to make it even easier, but right now your project needs to have jar
packaging, not war
, and you will need your own Main:
public class Main {
public static void main(String[] args) throws Exception {
Container container = new Container();
container.start();
// Create a JDBC driver deployment using maven groupId:artifactId
// The version is resolved from your pom.xml's <dependency>
DriverDeployment driverDeployment = new DriverDeployment(container, "com.h2database:h2", "h2");
container.deploy(driverDeployment);
// Create a DS deployment
DatasourceDeployment dsDeployment = new DatasourceDeployment(container, new Datasource("ExampleDS")
.connectionURL("jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE")
.driver("h2")
.authentication("sa", "sa")
);
container.deploy(dsDeployment);
// Create the WAR and bundle all the JPA Entities and persistence.xml
WarDeployment deployment = new DefaultWarDeployment(container);
deployment.getArchive().addClasses(Employee.class);
deployment.getArchive().addClass(EmployeeServlet.class);
deployment.getArchive().addAsWebInfResource(new ClassLoaderAsset("META-INF/persistence.xml", Main.class.getClassLoader()), "classes/META-INF/persistence.xml");
deployment.getArchive().addAsWebInfResource(new ClassLoaderAsset("META-INF/load.sql", Main.class.getClassLoader()), "classes/META-INF/load.sql");
container.deploy(deployment);
}
}
More ways to run your WildFly Swarm Application!
As with Alpha1 you can run your generated self-contained executable with:
java -jar ./target/myproject-1.0-swarm.jar
With Alpha2 you can also run it from the command line, without building the project:
mvn wildfly-swarm:run
or run the Main class of your application, or org.wildfly.swarm.Swarm
if
you don’t have one, directly within your favorite IDE!
Examples?
Yes indeed! We have a bunch of buildable and runnable examples at GitHub:
What do I download?
There is no special download or installation instructions. Simply start
using org.wildfly.swarm
artifacts in your pom.xml
, throw in the plugin
and continue doing your builds. Everything is available through Maven Central.
Stay in Touch
You can keep up with the project through the WildFly HipChat room, @wildflyswarm on Twitter, or through GitHub Issues.