Bryan Saunders wrote > Gary, > > I've worked on several Government projects with Camel that were not > allowed > to access Maven Central. > > Like others have said, the first step is to get an installation of > Artifactory or Nexus installed locally inside your development enclave. I > have used both of these before on government projects, so you should have > no issues getting it approved. Once that is done, you simply point all of > your maven builds to that repository instead of Maven central. > > As for populating the Repo, I have found that the best way to do an > initial > population of the repo is to create a project outside of the enclave with > all of the needed requirements and built it so that Maven downloads all of > the dependencies you need. From there you can move your local > .m2/repository directoy into your Development Enclave and use that as the > initial load. The method for moving the files over is going to depend on > your setup obviously. > > Another alternative is try to get an exception from your security or > network team to allow your local Nexus to mirror Maven Central. This way > your builds will only connect to your local Nexus, and will pull > dependencies from there whenever possible, but it will allow Nexus to go > get librarys from Maven Central (or any other mirroroed repo) whenever its > needed. I have seen some Agencies allow this, and others not, so your > mileage may very there. > > - Bryan > > *Bryan Saunders* | Senior Middleware Consultant > Public Sector Consulting > Red Hat > M: 843.467.9341
> bsaunder@ > < > bsaunder@ > > > <http://www.redhat.com/> > Better technology. Faster innovation. Powered by community collaboration. > See how it works at redhat.com <http://www.redhat.com/> > > On Mon, Dec 7, 2015 at 1:15 PM, gbchriste < > gary.christenot@ > > wrote: > >> Mark Frazier-2 wrote >> > I would look into setting up your own local maven repo (nexus or >> > artifactory) first, rather than >> > try to do it without maven. There are a few maven plugins which are >> highly >> > valuable/helpfull >> > in creating your build. >> > >> > You could then load the dependencies into your local repo and stay >> inside >> > the classified (I’m assuming) >> > network. >> > >> > >> >> On Dec 7, 2015, at 8:59 AM, gbchriste < >> >> > gary.christenot@ >> >> > > wrote: >> >> >> >> I'm planning to re-architect an existing Java application to >> incorporate >> >> messaging via JMS to integrate with a Windows back end system. I've >> done >> >> some rapid prototyping with ActiveMQ and I've also been reading >> through >> >> Camel in Action (Ibsen, et al) and am convinced that this is the >> >> combination >> >> I want to use. >> >> >> >> I'll confess up front that I'm a 2-decade Windows developer and have >> been >> >> dealing seriously with Java only for the last year or so, so I >> definitely >> >> have an uphill climb. I got the unenviable job of maintaining an >> >> application that was built for us by a contractor who disappeared >> after >> >> Version 1 was delivered. >> >> >> >> Anyway, the biggest roadblock in my plan is the heavy reliance that >> Camel >> >> places on Maven for managing Camel dependencies. Our organization's >> >> development activities are required to be carried out inside a >> separate >> >> network enclave that has highly restrictive policies for Internet >> access. >> >> Maven is one of the sites that cannot and never will be allowed to be >> >> accessed from within the development enclave and there is no way and >> >> never >> >> will be a way for me to take my development activities outside the >> >> enclave. >> >> >> >> So I need to come up with a work around to get all the necessary Camel >> >> dependencies as I add each Camel module. I've downloaded the entire >> >> Camel >> >> bundle to local jar files and can create local library references. >> I've >> >> already tried out the camel-core with some simple file and Bean >> >> endpoints. >> >> But trying to manually figure out what all the dependencies are for >> other >> >> Camel modules, and going and getting them, is proving to be more than >> I >> >> want >> >> to bite off. I spent 3 hours last night trying to figure out how to >> do >> a >> >> simple HTTP request using either camel-jetty or camel-http because I >> >> couldn't get all the right dependencies loaded up. >> >> >> >> Here's my thinking and would like to get some community input. I have >> a >> >> laptop loaded up with Netbeans (our organization Java standard IDE). >> >> What >> >> about this process: >> >> >> >> 1. Create a Maven project in Netbeans on laptop. There would be no >> code >> >> here. I'll just use it to communicate with the Maven repository. >> >> 2. Take laptop to a network connection outside the restricted enclave >> >> 3. Add dependencies to my Maven project for Camel modules (e.g. >> >> camel-core, >> >> camel-jetty, camel-jms, et al) >> >> 4. Let Maven project download all jars to local repository on laptop >> >> 5. Take laptop back to development enclave and copy in to lib folder >> of >> >> target project >> >> 6. Add Library references in target project >> >> >> >> Appreciate any help or advice folks can give. >> >> >> >> >> >> >> >> >> >> >> >> -- >> >> View this message in context: >> >> http://camel.465427.n5.nabble.com/Camel-Without-Maven-tp5774797.html >> >> Sent from the Camel - Users mailing list archive at Nabble.com. >> >> >> Not classified but it is a government project. I'll look in to your >> suggestion further. I guess my first question though would be how to go >> about populating a local repository? >> >> Thanks. >> >> >> >> -- >> View this message in context: >> http://camel.465427.n5.nabble.com/Camel-Without-Maven-tp5774797p5774803.html >> Sent from the Camel - Users mailing list archive at Nabble.com. >> Thanks Bryan. I've just started looking in to the internal repository idea and it seems doable, and actually just a variant of what I was proposing...creating a Maven project outside the enclave to get the artifacts and then duplicating those inside the enclave, except the duplication target would be an internal Maven repository rather than my project's /lib folder. If we still had some control over our own network boundary where I work I would probably try to get an exception because I'm on a first name basis with the guys who would do it. But in the last year we went to a service-wide networking architecture and all of the network management is now done by a bunch of faceless and nameless folks 1000 miles away who won't talk to you except through a trouble ticket and have no interest in departing from what the rule book says. Right now the central Maven repository is not reachable from our enclave and I just don't have the patience or energy to try and push that rock up the hill, since I'm 99.999% sure it would just roll back over me and crush me in the end. So I'll pursue the idea of an internal repository. Gary -- View this message in context: http://camel.465427.n5.nabble.com/Camel-Without-Maven-tp5774797p5774805.html Sent from the Camel - Users mailing list archive at Nabble.com.