Java no NPM

Java no NPM

No post anterior criamos uma simples aplicação de linha de comando (CLI). Já neste post vamos aprender a distribuir aquela aplicação utilizando o NPM. O NPM é um gerenciador de pacotes (que diferente do maven que só trabalha com war,jar e pom) manipula vários formatos de arquivos dicerentes.

O NPM é um gerenciador de pacotes cross-plataforma simples de publicar e que automaticamente adiciona a aplicação no PATH do sistema, ou como no caso do Windows, cria um script para inicializar a aplicação.

Primeira coisa que temos que fazer é instalar o NodeJS e ter o Java8 instalado. Depois para conseguir preparar nossa app para o NPM precisamos do JDeploy que pode ser baixado neste github:

https://github.com/shannah/jdeploy

E pode ser instalado com esse comando:

npm install jdeploy –g

Agora baixe a nossa aplicação CLI do repositório:

https://github.com/apedrina/blog/tree/master/alisson/cli

No diretório raiz do projeto “cli” digite:

mvn clean install

Navegue até aonde está o seu .jar gerado, pasta “target” e copie ele para um novo diretório com um nome pelo qual você quer que sua ferramenta seja chamada, ex. “myapp-tool”.

Depois digite o comando que faz com que o jdeploy crie um package.json para o nosso .jar:

jdeploy init

É gerado um arquivo package.json parecido como este:

{
"bin": {"myapp-tool ": "jdeploy-bundle/jdeploy.js"},
"author": "",
"description": "",
"main": "index.js",
"preferGlobal": true,
"repository": "",
"version": "1.0.0",
"jdeploy": {"jar": "apache-cli-1.0-SNAPSHOT.one-jar.jar"},
"dependencies": {"shelljs": "^0.7.5"},
"license": "ISC",
"name": "myapp-tool ",
"files": ["jdeploy-bundle"],
"scripts": {"test": "echo \"Error: no test specified\" && exit 1"}
}

Agora instale a aplicação com o comando:

jdeploy install

E rode a aplicação com o comando:

myapp-tool

Pronto agora falta publicar a aplicação nos repositórios do NPM. Para isso primeiramente você precisa ter uma conta que pode ser criada nesse link:

https://www.npmjs.com/signup

Depois adicione um usuário na sua máquina com o comando:

npm adduser

No diretório aonde está o arquivo package.json e o .jar digite o comando:

jdeploy publish

Caso já existe um pacote no npm com o mesmo nome da sua aplicação (ex. myapp-tool) ele não conseguira publica, teríamos que fazer uso de um scope, mas isto não veremos neste post. Se quiser veja o link abaixo para saber mais sobre scope no npm:

https://docs.npmjs.com/getting-started/scoped-packages

Agora para instalar a aplicação apptool pelo npm em qualquer máquina digite o comando:

npm install myapp-tool –g

Acabamos, comente, compartilhe e aprimore o exemplo, boa sorte!!!

One thought on “Java no NPM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s