Apache storm 9.2 missing in storm-starter -
i download storm-starter github: https://github.com/apache/incubator-storm/tree/master/examples/storm-starter
there missing dependency:
<dependency> <groupid>org.apache.storm</groupid> <artifactid>storm-core</artifactid> <version>0.9.2-incubating-snapshot</version> <!-- keep storm out of jar-with-dependencies --> <scope>provided</scope> </dependency>
with 0.9.1-incubating meven resolve dependency. can use in storm-starter example? there incompatibilities?
this how solved problem.
first of have tu use version 0.9.1-incubating (with "0.9.2-incubating-snapshot" maven can not solve dependency).
secondly, using eclipse, add org.eclipse.m2e plugin. notice comment:
<!--this plugin's configuration used store eclipse m2e settings only. has no influence on maven build itself.-->
this not true seems tag
<versionrange>[1.3.18,)</versionrange>
causes download of version 1.3.18 of plugin "clojure-maven-plugin". causes classnotfound exception org.apache.zookeeper.server.nioservercnxn$factory.
to solve problem can force version 1.3.8 of clojure-maven-plugin. or set version range of org.eclipse.m2e plugin [1.3.8,).
here working pom.xml:
<?xml version="1.0" encoding="utf-8"?> <!-- licensed apache software foundation (asf) under 1 or more contributor license agreements. see notice file distributed work additional information regarding copyright ownership. asf licenses file under apache license, version 2.0 (the "license"); may not use file except in compliance license. may obtain copy of license @ http://www.apache.org/licenses/license-2.0 unless required applicable law or agreed in writing, software distributed under license distributed on "as is" basis, without warranties or conditions of kind, either express or implied. see license specific language governing permissions , limitations under license. --> <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> <parent> <artifactid>storm</artifactid> <groupid>org.apache.storm</groupid> <version>0.9.1-incubating</version> <relativepath>../../pom.xml</relativepath> </parent> <groupid>org.apache.storm</groupid> <artifactid>storm-starter</artifactid> <packaging>jar</packaging> <name>storm-starter</name> <dependencies> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.11</version> <scope>test</scope> </dependency> <dependency> <groupid>org.testng</groupid> <artifactid>testng</artifactid> <version>6.8.5</version> <scope>test</scope> </dependency> <dependency> <groupid>org.mockito</groupid> <artifactid>mockito-all</artifactid> <scope>test</scope> </dependency> <dependency> <groupid>org.easytesting</groupid> <artifactid>fest-assert-core</artifactid> <version>2.0m8</version> <scope>test</scope> </dependency> <dependency> <groupid>org.jmock</groupid> <artifactid>jmock</artifactid> <version>2.6.0</version> <scope>test</scope> </dependency> <dependency> <groupid>org.apache.storm</groupid> <artifactid>storm-core</artifactid> <version>${project.version}</version> <!-- keep storm out of jar-with-dependencies --> <scope>provided</scope> </dependency> <dependency> <groupid>commons-collections</groupid> <artifactid>commons-collections</artifactid> <version>3.2.1</version> </dependency> <dependency> <groupid>com.google.guava</groupid> <artifactid>guava</artifactid> </dependency> </dependencies> <build> <sourcedirectory>src/jvm</sourcedirectory> <testsourcedirectory>test/jvm</testsourcedirectory> <resources> <resource> <directory>${basedir}/multilang</directory> </resource> </resources> <plugins> <!-- bind maven-assembly-plugin package phase create jar file without storm dependencies suitable deployment cluster. --> <plugin> <artifactid>maven-assembly-plugin</artifactid> <configuration> <descriptorrefs> <descriptorref>jar-with-dependencies</descriptorref> </descriptorrefs> <archive> <manifest> <mainclass></mainclass> </manifest> </archive> </configuration> <executions> <execution> <id>make-assembly</id> <phase>package</phase> <goals> <goal>single</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>com.theoryinpractise</groupid> <artifactid>clojure-maven-plugin</artifactid> <version>1.3.8</version> <extensions>true</extensions> <configuration> <sourcedirectories> <sourcedirectory>src/clj</sourcedirectory> </sourcedirectories> </configuration> <executions> <execution> <id>compile</id> <phase>compile</phase> <goals> <goal>compile</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>exec-maven-plugin</artifactid> <version>1.2.1</version> <executions> <execution> <goals> <goal>exec</goal> </goals> </execution> </executions> <configuration> <executable>java</executable> <includeprojectdependencies>true</includeprojectdependencies> <includeplugindependencies>false</includeplugindependencies> <classpathscope>compile</classpathscope> <mainclass>${storm.topology}</mainclass> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <configuration> <source>1.7</source> <target>1.7</target> </configuration> </plugin> </plugins> <pluginmanagement> <plugins> <!--this plugin's configuration used store eclipse m2e settings only. has no influence on maven build itself.--> <plugin> <groupid>org.eclipse.m2e</groupid> <artifactid>lifecycle-mapping</artifactid> <version>1.0.0</version> <configuration> <lifecyclemappingmetadata> <pluginexecutions> <pluginexecution> <pluginexecutionfilter> <groupid> com.theoryinpractise </groupid> <artifactid> clojure-maven-plugin </artifactid> <versionrange> [1.3.8,) </versionrange> <goals> <goal>compile</goal> </goals> </pluginexecutionfilter> <action> <ignore></ignore> </action> </pluginexecution> </pluginexecutions> </lifecyclemappingmetadata> </configuration> </plugin> </plugins> </pluginmanagement> </build> </project>
Comments
Post a Comment