How to compile scala sources via maven integration in intellij idea?
I am learning circumflex orm and using maven with idea for the first time. I expected that my sources in src
will compile to build
directory. But it doesn't happen. And if I specify sourceDirectory
and outputDirectory
like ${basedir}/src
or ${project.basedir}/build
I get intellij idea's inspections that such folders doesn't exist (sic!)
<?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>C2Probe</groupId>
<artifactId>C2Probe</artifactId>
<version>1.0</version>
<build>
<sourceDirectory>src</sourceDirectory>
<outputDirectory>build</outputDirectory>
<plugins>
<plugin>
<groupId>ru.circumflex</groupId>
<artifactId>maven-cx-plugin</artifactId>
<version>${cx.version}</version>
<executions>
<execution>
<id>configure</id>
<phase>compile</phase>
<goals>
<goal>cfg</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
<properties>
<cx.version>1.1</cx.version>
<orm.connection.driver>org.postgresql.Driver</orm.connection.driver>
<orm.connection.url>jdbc:postgresql:mydb</orm.connection.url>
<orm.connection.username>myuser</orm.connection.username>
<orm.connection.password>mypass</orm.connection.password>
</properties>
<dependencies>
<dependency>
<groupId>ru.circumflex</groupId>
<artifactId>circumflex-orm</artifactId>
<version>${cx.version}</version>
开发者_开发百科 </dependency>
</dependencies>
</project>
What should I do to compile my sources?
<build>
<sourceDirectory>src/main/scala</sourceDirectory>
<plugins>
<plugin>
<groupId>org.scala-tools</groupId>
<artifactId>maven-scala-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<goals>
<goal>compile</goal>
</goals>
</execution>
</executions>
<configuration>
<mainClass>greet.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
Thanks http://www.nearinfinity.com/blogs/bryan_weber/scala_and_maven_with_maven.html for good tutorial.
The Maven convention is that the compiled classes are put into target/classes
. Unless you have a very good reason to do it differently, it is better (and much less painful) to stick to the convention.
精彩评论