Thursday, May 21, 2015

Maven JAX-WS Plugin

Here is how you use maven jax-ws plugin. I am using


Order of XJC args is important, Xew should come before others.




<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>my_group_id</groupId>
<artifactId>my_artificat</artifactId>
<version>0.0.1-SNAPSHOT</version>

<dependencies>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-rt</artifactId>
<version>2.1.5</version>
</dependency>
</dependencies>

<build>

<plugins>
<plugin>
<groupId>org.jvnet.jax-ws-commons</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<version>2.3</version>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
</execution>
</executions>
<configuration>
<verbose>true</verbose>
<sourceDestDir>src/main/java</sourceDestDir>
<wsdlDirectory>src/main/resources</wsdlDirectory>
<wsdlLocation>src/main/resources/*</wsdlLocation>
<xjcArgs>
<xjcArg>-no-header</xjcArg>
<xjcArg>-Xxew</xjcArg>
<xjcArg>-Xxew:instantiate lazy</xjcArg>
<xjcArg>-Xxew:delete</xjcArg>
<xjcArg>-extension</xjcArg>
<xjcArg>-b ${basedir}/src/main/resources/jaxb_binding.xml</xjcArg>
<xjcArg>-Xfluent-api</xjcArg>
<!-- <xjcArg>-Xvalue-constructor</xjcArg> -->
</xjcArgs>
</configuration>
<dependencies>
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-fluent-api</artifactId>
<version>3.0</version>
</dependency>
<dependency>
<groupId>com.sun.xml.ws</groupId>
<artifactId>jaxws-tools</artifactId>
<version>2.1.5</version>

</dependency>
<dependency>
<groupId>com.github.jaxb-xew-plugin</groupId>
<artifactId>jaxb-xew-plugin</artifactId>
<version>1.2</version>
</dependency>
<!-- 
<dependency>
<groupId>org.jvnet.jaxb2_commons</groupId>
<artifactId>jaxb2-value-constructor</artifactId>
<version>3.0</version>
</dependency>
-->
</dependencies>
</plugin>
</plugins>

</build>
</project>

Setting up SublimetText3 for javascript

- install node
- npm install -g jshint
- install sublime package manager
- install package SublimeLinter 3
- install package SublimeLinter-jshint (See errors in console Ctl+`)
- install jsformat. Ctl+Alt+F to format

To install using sublime packager
1- Ctl+Shift+P
2-select package install 
3-wait and than choose desired package