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.

Reply via email to