Develop Vaadin project without internet connection?

Hello! Sorry if my question would sound stupid, I’m very new to Java and Vaadin. In my organisation all development computers has no access to the internet, people are kinda paranoid about malware and data leakage here. Anyway what is the best way to develop a Vaadin 8 based project on the computer that has no internet access? I’m using Intellij Idea if it matters. Maven requires internet connection to download packages.

You can populate your local repository with the stuff you need but I would go nuts in five minutes without access to stackoverflow, forums etc. Are you at least allowed to use internet on the host and develop in a VM?

We use tablets to google stuff and access forums and stackoverflow. Well, I found a way to do it more or less. At home I have linux machine with internet access, I installed Vaadin and other packages locally using Maven, then copied all of the ~/.m2/repository content to the machiche without internet access. It kinda works, but when I tried to switch language from Java to Kotlin I got the same error, that Maven couldn’t download Kotlin plugin. So I have to install all the Maven’s packages before hand, this is not at all comfortable, but it works. Is there any other ways to do it? Maybe using Gradle?

I would say no matter what build system you use there is the fundamental problem of sooner or later

  1. You need foo.jar
  2. You don’t have foo.jar locally
  3. You will have to download foo.jar over the internet

Well this is a weird situation and actually it is not acceptable in 2017.
But my suggestion would be:
Set up a Nexus on a server in your intranet (http://www.sonatype.org/nexus/). This nexus must have internet access and should mirror public maven repository (and the vaadin addon repository).
That way you could resolve dependencies just as you had internet. Also you have to configure your local maven settings to always use your nexus.

The advantage is that you can set up your own repository for your company internal (snaphsot) releases and resolve it the same way as public projects. You don’t have to blow up your maven POMs with different repositories because the nexus configured it. So your Continous Integration system can publish releases directly into your company’s repository.

I really hope you have some experts setting this up. It’s quite a lot for a java beginner. Maybe at first you should talk to your CEO that this decision is a big money eater :wink:

A higly opinion based side note: Don’t event think about gradle :wink:

Hello, Leff. Use vaadin7 or earlier version. It was so nice and simple… :slight_smile: