Gianmarco-
   GIRAPH-64 has been committed, so it should be much easier to treat
Giraph as a library and link your vertices against it.  Try it out and
see if it meets your needs.  If not, be sure to open a JIRA so we can
improve it.

Thanks,
Jakob


On Thu, Nov 10, 2011 at 7:31 AM, Gianmarco De Francisci Morales
<g...@apache.org> wrote:
> Nice!
> It looks cleaner than my ant+ivy hack :)
> Thanks for sharing,
> --
> Gianmarco
>
>
> On Thu, Nov 10, 2011 at 16:18, Claudio Martella <claudio.marte...@gmail.com>
> wrote:
>>
>> Ok,
>>
>> quite basically this is my pom.xml:
>>
>> <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/maven-v4_0_0.xsd";>
>>        <modelVersion>4.0.0</modelVersion>
>>        <groupId>org.acaro.graffiti</groupId>
>>        <artifactId>graffiti</artifactId>
>>        <packaging>jar</packaging>
>>        <version>1.0-SNAPSHOT</version>
>>        <name>graffiti</name>
>>        <url>http://maven.apache.org</url>
>>        <build>
>>                <plugins>
>>                        <plugin>
>>                                <groupId>org.apache.maven.plugins</groupId>
>>
>>  <artifactId>maven-assembly-plugin</artifactId>
>>                                <version>2.2</version>
>>                                <configuration>
>>
>>  <outputDirectory>target</outputDirectory>
>>                                        <descriptorRefs>
>>
>>  <descriptorRef>jar-with-dependencies</descriptorRef>
>>                                        </descriptorRefs>
>>                                </configuration>
>>                                <executions>
>>                                        <execution>
>>                                                <id>make-assembly</id>
>>                                                <phase>compile</phase>
>>                                                <goals>
>>                                                        <goal>single</goal>
>>                                                </goals>
>>                                        </execution>
>>                                </executions>
>>                        </plugin>
>>                        <plugin>
>>                                <groupId>org.apache.maven.plugins</groupId>
>>
>>  <artifactId>maven-eclipse-plugin</artifactId>
>>                                <configuration>
>>
>>  <downloadSources>true</downloadSources>
>>
>>  <downloadJavadocs>true</downloadJavadocs>
>>                                </configuration>
>>                        </plugin>
>>                        <plugin>
>>                                <groupId>org.apache.maven.plugins</groupId>
>>                                <artifactId>maven-shade-plugin</artifactId>
>>                                <version>1.5</version>
>>                                <executions>
>>                                        <execution>
>>                                                <phase>package</phase>
>>                                                <goals>
>>                                                        <goal>shade</goal>
>>                                                </goals>
>>                                                <configuration>
>>                                                </configuration>
>>                                        </execution>
>>                                </executions>
>>                        </plugin>
>>                </plugins>
>>        </build>
>>        <dependencies>
>>                <dependency>
>>                        <groupId>junit</groupId>
>>                        <artifactId>junit</artifactId>
>>                        <version>4.8.2</version>
>>                        <scope>test</scope>
>>                </dependency>
>>                <dependency>
>>                        <groupId>ch.qos.logback</groupId>
>>                        <artifactId>logback-classic</artifactId>
>>                        <version>0.9.27</version>
>>                </dependency>
>>                <dependency>
>>                        <groupId>com.google.guava</groupId>
>>                        <artifactId>guava</artifactId>
>>                        <version>r09</version>
>>                </dependency>
>>                <dependency>
>>                        <groupId>org.antlr</groupId>
>>                        <artifactId>antlr</artifactId>
>>                        <version>3.3</version>
>>                </dependency>
>>                <dependency>
>>                        <groupId>org.apache.giraph</groupId>
>>                        <artifactId>giraph</artifactId>
>>                        <version>0.70</version>
>>                </dependency>
>>                <dependency>
>>                        <groupId>org.apache.hadoop</groupId>
>>                        <artifactId>hadoop-core</artifactId>
>>                        <version>0.20.204.0</version>
>>                        <scope>provided</scope>
>>                </dependency>
>>        </dependencies>
>> </project>
>>
>>
>> You set your project dependecies as usual, set hadoop-core (you don't
>> really need it in the job jar) as <provided> and then use the
>> maven-shade (http://maven.apache.org/plugins/maven-shade-plugin/). At
>> package goal it will upack your dependencies and re-pack them along
>> with your project classes in an uberjar.
>>
>> maven-shade allows you to set excludes in case of conflicts.
>>
>> Easy, automatic and clean.
>>
>>
>> Hope this helps,
>> Claudio
>>
>> On Wed, Nov 9, 2011 at 12:19 PM, Avery Ching <ach...@apache.org> wrote:
>> > Would be great if you can document what you did. =)
>> >
>> > Thanks,
>> >
>> > Avery
>> >
>> > On 11/8/11 3:13 PM, Claudio Martella wrote:
>> >>
>> >> Sorry guys, may bad.
>> >>
>> >> Was calling job.waitForCompletion() directly. I've been coding
>> >> standard mapreduce whole weekend...
>> >>
>> >> Anyway I got a solution for clean packaging of your own application
>> >> over giraph, and that is exactly using maven-shade-plugin. it will
>> >> prepare the uberjar for you.
>> >>
>> >> On Tue, Nov 8, 2011 at 9:33 PM, Claudio Martella
>> >> <claudio.marte...@gmail.com>  wrote:
>> >>>
>> >>> Hello list,
>> >>>
>> >>> I'm actually having troubles as well to get my application running.
>> >>>
>> >>> I've give a shot to maven-shade plugin which unpacks my dependencies
>> >>> and packs them all together with my classes in a new jar.
>> >>>
>> >>> I attach the hierarchy of the jar so that somebody can maybe spot
>> >>> what's missing, because i can't get it working. I get an identity
>> >>> map-reduce job with jobconf complaining about no job jar being set.
>> >>>
>> >>> Any idea?
>> >>>
>> >>> On Sat, Nov 5, 2011 at 5:09 PM, Avery Ching<ach...@apache.org>  wrote:
>> >>>>
>> >>>> Hi Gianmarco,
>> >>>>
>> >>>> You're right, most of us (to my knowledge) have been using Giraph
>> >>>> with
>> >>>> an
>> >>>> uberjar as you've put it.  However, Jakob has been doing some work to
>> >>>> make
>> >>>> this easier.  See the below issue:
>> >>>>
>> >>>> https://issues.apache.org/jira/browse/GIRAPH-64
>> >>>>
>> >>>> If you can suggest a better approach, please add to the issue or
>> >>>> create
>> >>>> a
>> >>>> new one if appropriate.
>> >>>>
>> >>>> Thanks,
>> >>>>
>> >>>> Avery
>> >>>>
>> >>>> On 11/5/11 4:11 AM, Gianmarco De Francisci Morales wrote:
>> >>>>>
>> >>>>> Hi community,
>> >>>>>
>> >>>>> I was wondering what is the current best practice to package an
>> >>>>> application in a jar for deployment.
>> >>>>> I tried the 'hadoop way' by putting giraph-*.jar in the /lib
>> >>>>> directory
>> >>>>> of
>> >>>>> my jar, and using the -libjars option but none of them worked. It
>> >>>>> looks
>> >>>>> like
>> >>>>> the backend classloader is doing some mess and it doesn't find my
>> >>>>> own
>> >>>>> classes in the jar.
>> >>>>>
>> >>>>> I resorted to uncompressing the giraph-*.jar and repackaging my
>> >>>>> classes
>> >>>>> with it, all at the same level (an uber-fat jar), but even though it
>> >>>>> works
>> >>>>> it doesn't sound like the right approach.
>> >>>>>
>> >>>>> Any suggestions?
>> >>>>>
>> >>>>> Thanks,
>> >>>>> --
>> >>>>> Gianmarco
>> >>>>>
>> >>>>>
>> >>>>>
>> >>>>
>> >>>
>> >>>
>> >>> --
>> >>>     Claudio Martella
>> >>>     claudio.marte...@gmail.com
>> >>>
>> >>
>> >>
>> >
>> >
>>
>>
>>
>> --
>>     Claudio Martella
>>     claudio.marte...@gmail.com
>
>

Reply via email to