On Jun 7, 2013, at 10:03 , Sky Zhao wrote: > Yes, absoultely Matthieu, I tried this way(adapter.s4r) and can run normally > too. Thank you very much your good suggestion. > > It would be better if s4r file is bit small(now 8M a bit large), since the > build.gradle template import too many s4 dependency jars, so don’t sure which > jars I can remove?
By default, all dependencies are included in the s4r, including platform ones. This is mostly for historical reasons (and because updating gradle scripts can be tricky). In reality, provided there are not conflicts/compatibility issues, you only need to add the actual dependencies needed for your application. For instance for the twitter adapter application, you only need to include the app code and the twitter dependencies, all other dependencies are superfluous. Matthieu > > > > > aopalliance-1.0.jar commons-codec-1.4.jar gson-1.6.jar > jline-0.9.94.jar minlog-1.2.jar > s4-comm-0.6.0-incubating.jar > asm-3.1.jar commons-collections-3.2.1.jar > guava-13.0.1.jar junit-3.8.1.jar > s4-core-0.6.0-incubating.jar > asm-4.0.jar commons-configuration-1.6.jar > guice-3.0.jar kryo-2.20.jar > netty-3.5.11.Final.jar slf4j-api-1.6.4.jar > cglib-2.2.1-v20090111.jar commons-digester-1.8.jar > guice-assistedinject-3.0.jar log4j-1.2.15.jar objenesis-1.2.jar > zkclient-0.1.jar > collections-generic-4.01.jar commons-io-2.4.jar > javax.inject-1.jar logback-classic-0.9.29.jar zookeeper-3.3.3.jar > commons-beanutils-1.7.0.jar commons-lang-2.6.jar > jcip-annotations-1.0.jar logback-core-0.9.29.jar > reflectasm-1.07-shaded.jar > commons-beanutils-core-1.8.0.jar commons-logging-1.1.1.jar > jcommander-1.25.jar metrics-core-2.1.3.jar > s4-base-0.6.0-incubating.jar > > /Sky > > From: Matthieu Morel [mailto:mmo...@apache.org] > Sent: Thursday, June 06, 2013 4:11 PM > To: s4-user@incubator.apache.org > Subject: Re: About Adapter Deployment > > Again, the "s4 adapter" command is for testing purposes only. Resolving the > classpath from the current project is a hack that is only for avoiding > deployment and easing testing, that's why it's not suitable for normal > deployment. > > You should follow the usual way to deploy the adapter as an app: "use the > packaged adapter app (as .s4r) and deploy it, as in the twitter example." > > Matthieu > > On Jun 5, 2013, at 11:04 , Sky Zhao wrote: > > > I tried and got not simple answer: > > 1. wrap all project classes into one jar > 2. rename new classpath.txt(since source folder already has), and add > the jar path into class list > 3. > > Check the my project s4 file, the content is > > /home/notroot/apache-s4-0.6.0-incubating-src/gradlew cp > java -cp `cat classpath.txt` org.apache.s4.core.S4Node $@ > > So only run one command in s4 source folder (replace #@ with –c=cluster2) > java -cp `cat classpath_rename.txt` org.apache.s4.core.S4Node –c=cluster2 > > then works, don’t know whether exists better way. > > /Sky > > From: Sky Zhao [mailto:sky.z...@ericsson.com] > Sent: Wednesday, June 05, 2013 12:16 PM > To: s4-user@incubator.apache.org > Subject: About Adapter Deployment > > S4 Walkthrough page said > > ./s4 adapter -c=cluster2 > The adapter command must be run from the root of your S4 project (myApp dir > in our case). > > I want to deploy adapter for new machine, not development environment, using > this above way, I have to copy the many classes to new machine, > > But if I use simple .s4r file, can it deploy directly ? And how to do this? > Or other more simpler way clean deployment for adapter. > > /Sky