Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Packaging mod-rxvertx into my project's module #36

Open
wklenk opened this issue Apr 8, 2015 · 1 comment
Open

Packaging mod-rxvertx into my project's module #36

wklenk opened this issue Apr 8, 2015 · 1 comment

Comments

@wklenk
Copy link

wklenk commented Apr 8, 2015

Vert.x documentation states:
*Nested modules - Packaging all module dependencies in the module

The usual behaviour of Vert.x is to download and install module dependencies the first time they are referenced at runtime, if they're not already installed. For some production deployments this is not necessarily desirable - there may be a requirement that modules deployed on a production server must contain everything necessary to run then without calling out to download more artifacts at runtime.

For these situations Vert.x supports packaging a module, along with all the other modules that it references inside the same module to give a single self contained deployment unit.*

I did exactly this and have the following folder structure inside my project's module:
myproject-mod.zip
+- com
+- mods
--+- io.vertx~mod-rxvertx-1.0.0-beta2
------+- io
------+- lib
------+- mods

In my project's mod.json, I have the following lines:

"includes": "io.vertxmod-rxvertx1.0.0-beta2",
"deploys": "io.vertxmod-rxvertx1.0.0-beta2"

On the production system, I rename this myproject-mod.zip to a filename following the vert.x module name rules like "com.testtest1.0.0"

But when I try to run the module with "vertx runmod com.testtest1.0.0 -cp com.testtest1.0.0" then I can see that vert.x downloads this io.vertxmod-rxvertx1.0.0-beta2 instead to use the "embedded" module.

If I DON'T specify the "includes" statement in mod.json, the mod-rxvertx is taken directly from the zip-file, but then I get ClassLoading exceptions, as the RxJava classes are not on the classpath.

Can you tell me HOW to use this "includes" statement, but also do not try to download the mod-rxvertx from a repository, but to use the embedded one?

@petermd
Copy link
Contributor

petermd commented Apr 9, 2015

do you need to package all the mods into a single zip?

on the production system you can use vertx install to install any dependencies ahead of time

see http://vertx.io/mods_manual.html#installing-modules-manually-from-the-repository

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants