LINUX.ORG.RU

MOP? Maven? Ivy? Интересует пакетный менеджер под Java.

 ivy, , , ,


1

3

Воодушевлённый примером Composer под PHP хочу сейчас что-то подобное под Java. Чтобы был централизованный сервер с юзеровскими свободно добавляемыми пакетами, которые могли бы браться с внешних репозиториев, чтобы зависимости, чтобы настройка окружения.

Есть такое под Java, или прогресс до неё ещё не дошёл?

Как я понимаю, инструменты, перечисленные в заголовке, до этого ещё не дотягивают. Есть что-то приличнее?

★★★★★

Ответ на: комментарий от vertexua

Если вам религия не позволяет копировать war файл, что делают так или иначе все, то вот как заставить это сделать Maven

Можно пример двух строчек, выполнив которые я получу прямо сейчас работающее приложение?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

я лучше спать пойду чем рассказывать о том что php (а также аналоги ruby gems и python easy_install) путь тут не желателен, хотя навелосипедить можно всякого

Deleted
()
Ответ на: комментарий от AlexM

Готовое приложение в терминах [java-] веб-девелопмента

Форум не случайно Development, а не Web-development.

И я специально предельно упростил задачу, чтобы не уезжать мысью по древу.

Дайте две строчки, одной из которых я поставлю через maven любое Java-приложение (в смысле законченного проекта), а второй — запущу результат. Как это сделано в MOP? Maven? Ivy? Интересует пакетный менеджер под Java. (комментарий)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от Deleted

я лучше спать пойду чем рассказывать о том что php (а также аналоги ruby gems и python easy_install) путь тут не желателен

Ок. Спрыгнул.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Не делают так в Java. Никому не нужно две строчки - и работающее приложение. В Java принято 10 минут и 10 лет работающее приложение. Для этого есть набор практик деплоймента, разделения контейнера и приложения, разделения ролей администрирования сервера и приложения, поставки ресурсов и настроек из контейнера и т.д.

Ну IDE может вам нагенерит нужный dance в Next, Next, Done мастере, и томкат заодно скачает в home и запустит. Так NetBeans любит делать

Я думаю между нами прирва непонимания. Я не говорю что кто-то умнее или нет, просто два разных представления. Потому подумываю «спрыгнуть» и пойти заниматься чем-то более полезным.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от KRoN73

In a shell, run the following: g8 JanxSpirit/scalatra-mongodb cd <name-of-app> sbt > update > container:start

Опять же, g8, не maven, а sbt. Не проверял, просто копипаста с гитхаба:

https://github.com/JanxSpirit/scalatra-mongodb.g8

In a shell, run the following:

g8 JanxSpirit/scalatra-mongodb
cd <name-of-app>
sbt
> update
> container:start

anonymous
()
Ответ на: комментарий от vertexua

Делают-не делают, а штука удобная. Десять минут - это хорошо, а вот когда просто для «попробовать» приходится не один час плясать с бубном, починяя примус, переменные и баги IDE - то и g8 в радость будет.

P.S. Есть мнение, что ТС игнорит анонима и двух строчек так и не увидит.

anonymous
()
Ответ на: комментарий от vertexua

пара команд создания и запуска проекта после установки Play 2
после установки

Т.е. Сам Play2 установить через maven нельзя?

Не нравится принятое в PHP/Python/Ruby? Вот пример из Go, самого прямого конкурента Java. Там пакетный/зависимостей менеджер — вообще средство языка:

Устанавливаем:

go get github.com/robfig/revel/reve

Запускаем:

bin/revel run github.com/robfig/revel/samples/chat

Результат:

~
~ revel! http://robfig.github.com/revel
~
2013/11/30 02:21:40 revel.go:292: Loaded module static
2013/11/30 02:21:40 revel.go:292: Loaded module testrunner
2013/11/30 02:21:40 run.go:57: Running chat (github.com/robfig/revel/samples/chat) in dev mode
2013/11/30 02:21:40 harness.go:157: Listening on :9000

Revel, если не в курсе, этот тот же Play, только под Go.

Что, тоже плохо? Вместо двух строчек правильные люди используют редактирование конфигов и ручное разворачивание?

Чёрт, на дворе-то уже 2013-й, а не 1997-й. Только в Java-коммьюнити, судя по топику, об этом не в курсе :)

KRoN73 ★★★★★
() автор топика
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Вот я сейчас начну цепляться к словам, и обращу Ваше внимание на то, что поставить любое PHP-приложение Вам не удастся ни одной командой, ни двумя, ни двадцатью двумя: квантор всеобщности слишком сильная штука даже для самых монстров PHP. После чего мы с Вами разосрёмся, как это уже случилось с subwoofer, и разбежимся в полной уверенности, что собеседник - мудак.

Но вряд ли это является Вашей целью. Моей - точно нет. Поэтому я и пытаюсь выяснить, чего же Вы на самом деле хотите. Потому как озвученная Вами цель про постановку любого приложения в моём понимании бессмысленна и решения не может иметь в принципе.

AlexM ★★★★★
()
Ответ на: комментарий от KRoN73

М-м-м. Если речь идёт о том, чтобы скачать какой-либо из имеющихся в Maven'овском репозитории артефактов руками, то такая задача, естественно, решена.

Например, вот так:

mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \ -DrepoUrl=url \ -Dartifact=groupId:artifactId:version

(взято отсюда)

Но, честно говоря, пока это не «готовое приложение», это просто maven'овский артефакт, который потом надо настроить и запустить. Это тоже, конечно, делается, но думаю, не одной командой, т.к. настройки, всякие там коннекты к базе и прочее - это всяко не одна строчка и является application specific. Для некоторых артефактов их авторы озаботились некоторым минимально работающим вариантом, опять же, через цели mvn, но это, вообще-то, сильно application-specific.

AlexM ★★★★★
()
Последнее исправление: AlexM (всего исправлений: 1)
Ответ на: комментарий от AlexM

Вот я сейчас начну цепляться к словам, и обращу Ваше внимание на то, что поставить любое PHP-приложение Вам не удастся

Вы не внимательно читаете. Я нигде не говорю про все приложения. Я прошу пример любого одного. Хоть как с Composer, хоть как с Go чуть выше.

Поэтому я и пытаюсь выяснить, чего же Вы на самом деле хотите.

Если совсем «от печи плясать», то сейчас у меня цель — понять, насколько сегодня Java (как инфраструктура) отвечает моим требованиям к современном языкам. Тот уровень, на котором я в ней работал в 1997..2007 гг., после длительного перерыва и знакомства с массой других решений, меня уже категорически не устраивает.

Потому как озвученная Вами цель про постановку любого приложения

Этой цели там не было. Была просьба привести единичный, любой пример. Если и тут «плясать от печки», то цель — увидеть, что такое под Java сегодня возможно. Если да — я свой новый проект начну под ней. Если нет — стану оценивать, стоит ли затраченных усилий освоение нового инструмента, например, того же Go.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от AlexM

(взято отсюда)

$ mvn org.apache.maven.plugins:maven-dependency-plugin:2.1:get \ -DrepoUrl=url \ -Dartifact=groupId:artifactId:version
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 0.191s
[INFO] Finished at: Sat Nov 30 02:30:01 MSK 2013
[INFO] Final Memory: 5M/144M
[INFO] ------------------------------------------------------------------------
[ERROR] The goal you specified requires a project to execute but there is no POM in this directory (/home/balancer/tests/mvn). Please verify you invoked Maven from the correct directory. -> [Help 1]

В каталоге в итоге пусто.

Это тоже, конечно, делается, но думаю, не одной командой, т.к. настройки, всякие там коннекты к базе и прочее - это всяко не одна строчка.

Да бог с ней, с БД. Мне бы пример самой возможности работы в таком варианте. Как выше в примерах с Laravel/PHP и Revel/Go. Там именно одной строчкой ставим, другой — запускаем. В браузере (оба примера из Web'а, но это не обязательно, просто иллюстрирую тем, с чем знаком) можно открывать тестовую страницу. Да, ещё выше мой пример с моим фреймворком, тоже откроется. Хотя там всё куда крайне сыро, переход в Composer у меня только обкатывается.

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

тогда чем Вас не устраивают примеры хелловорлдов, приведённые мной Выше? Они как раз строят некоторое минимально работающее приложение на базе выбранного фреймворка или фреймворков. Но это именно фреймворки, то есть, набор запчастей разной крупноблочности для построения _Вашего_ приложения.

AlexM ★★★★★
()
Ответ на: комментарий от KRoN73

Вот пример из Go, самого прямого конкурента Java

Тред скатываетс я в наброс. Я так понял о Java слышали таки мало.

Что, тоже плохо? Вместо двух строчек правильные люди используют редактирование конфигов и ручное разворачивание?

Редактирование конфигов - это указание что вы все таки хочете. Выбора в Java много. А вот мало монолитов в которых можно сказать просто Create Project. Есть множетсво реализаций стандартов. Я просто не знаю как вам обьяснить так чтобы было понятно PHP программисту. Хорошо, представим что в Java есть така утилита. Тогда создание проекта будет таким

mysupertool create-project myproject1 --with-eclipselink --with-spring --with-junit --with-spring-mvc --with-jackson --with-apache-shiro --with--log4j --with-slf4j --with-apache-poi --with-activemq-jms

Я версии пропустил. Так проще? Я указал то что я хотел. Я могу такую же портянку написать на других технологиях.

Деплой готового?

mysupertool deploy --to-tomcat7 --with-tomcat7-async-connector --with-jdbc=db1:mysql:localhost:8282 --with-jms-activemq=localhost:8888

Опять портянка. Сделать дефолт? Да это будет резонанс как белых сделать по дефолту, а негров - альтернативой. А может я фанат Jetty, OpenMQ, PostgreSQL? Приложению написаному по стандартам чихать, оно и на этом молча заведется, потому что контейнер дал доступ.

Так чем лучше задолбаться писать такую команду и завернуть ее в скрипт вместо того чтобы это же самое написать в pom файл.

В PHP нет стандартов на разные маленькие вещи с 10 имплементаций именно этого стандарта, технологии слабо взаимозаменяемы. Потому если мы прыгнули на фреймворк, то конечно элементарно можно сделать какой-то сферический в вакууме run потому что и так все понятно и прибито гвозядми.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 3)
Ответ на: комментарий от AlexM

тогда чем Вас не устраивают примеры хелловорлдов, приведённые мной Выше?

Выше не было ни разу приведено двух строчек, выполнив которые я получу локальную копию работающего приложения. Была приведена одна строка без указания, как потом полученное запускать (плюс комментарий, что это бесполезно, так как не настроено и т.п.), да и та — не сработала :)

Сравните примеры с Laravel и Revel. Они создают полностью рабочее приложение. Которое потом (потому что это фреймворки) уже и расширять, конечно, можно.

Вот ещё пример совсем простого готового приложения:

$ go get code.google.com/p/go.example/hello
$ bin/hello
Hello, world.  Sqrt(2) = 1.414213562373095

Естественно, так и с Composer можно.

Можно так с Maven? :) Если нет, то возвращаясь к началу темы — а хоть с чем-то также в Java можно?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Если совсем «от печи плясать», то сейчас у меня цель — понять, насколько сегодня Java (как инфраструктура) отвечает моим требованиям к современном языкам. Тот уровень, на котором я в ней работал в 1997..2007 гг., после длительного перерыва и знакомства с массой других решений, меня уже категорически не устраивает.

У вас задача странная. Я тоже когда-то так пробовал, но с другими вещами. Не вышло. Начал без энтузиазма, только с критики и скептицизма и хуже всего - тащил старые привычки вместо того чтобы научиться принятным практикам именно в этому community. Не осилил. Больше так не делаю

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от KRoN73

В IDE можно, создание проектов из IDE как раз для хелло-ворлдов. Для того чтобы завелось во всех IDE, с консоли и в CI-сервере - пишут pom файлы с перечислением что они хотят

vertexua ★★★★★
()
Ответ на: комментарий от KRoN73

Эм-м-м... -Dartifact=<groupId>:<artifactId>:<version>

<groupId>, <artifactId>, <version> - это плейсхолдеры. Там ниже пример про скачивание потрохов hibernate'а

mvn org.apache.maven.plugins:maven-dependency-plugin:2.8:get -Dartifact=org.hibernate:hibernate-entitymanager:3.4.0.GA:jar:sources

И, я проверил, оно действительно скачивает. Без всяких предварительно созданных pom'ок. В ~/.m2/repository / $M2_REPO, чтобы предотвратить вопрос «куда?!»

Но, это, я так понимаю, пол-дела. Вам же, небось, этот хибернейт ещё и поиспользовать захочется? А вот для этого уже и нужно _Ваше_ приложение, которое будет делать что-то осмысленное с этим набором костылей запчастей. Для этого, повторюсь, есть, например, генерируемые хелловорлды, указанные выше.

Только пожалуйста, чтобы не переводить своё и наше время совсем уж впустую, поглядите, пожалуйста, на предложенные примеры повнимательнее.

AlexM ★★★★★
()
Последнее исправление: AlexM (всего исправлений: 3)
Ответ на: комментарий от vertexua

Я так понял о Java слышали таки мало.

Я с Java работал почти 10 лет и написал сотню тысяч SLOC. Но было это давно. И тогда, когда я не знал лучшей жизни :) Maven в любом случае тогда не было, под конец практики билды я собирал через ant.

Редактирование конфигов … Деплой готового? … Опять портянка

Вот потому меня и интересует вариант, который позволит автоматизировать часть рутины. Именно потому, что я слишком хорошо знаю, как в Java это делается традиционно.

Maven, как я понимаю, для этого не годится? Примера так и не увидел. Альтернативных решений, как я понимаю, других тоже не появилось? Увы, это не говорит ничего хорошего о текущем состоянии Java-инфраструктуры. Она как родилась в XX веке, так, похоже, там собралась и остаться.

В PHP нет стандартов на разные маленькие вещи с 10 имплементаций именно этого стандарта

Дался Вам этот PHP (с маленькими вещами прекрасно справляется Composer, как и с большими). Давайте с Go сравнивать.

Можно пример такой же, но на Java-решении?

$ go get github.com/a696385/go-meter
$ $GOPATH/bin/go-meter -h
Usage of bin/go-meter:
  -c=64: Connections count
  -cpuprofile="": write cpu profile to file
  -d=30s: Test duration
  -es=0: Exclude first seconds from stats
  -h=false: Help
  -m="GET": HTTP Metod
  -mrq=-1: Max request per second
  -s="": POST/PUT Body source file with "\n" delimeter or URLs on GET/DELETE
  -t=4: Threads count
  -u="http://localhost": URL
  -v=false: Live stats view

KRoN73 ★★★★★
() автор топика
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от AlexM

Но, это, я так понимаю, пол-дела. Вам же, небось, этот хибернейт ещё и поиспользовать захочется?

Именно. И меня интересует, можно ли maven использовать как для разворачивания изначально работающей среды разработки, так и для деплоя результата? Пока я такого использования в теме, увы, не увидел.

Более того, если реакция публики в этой теме отображает настроения в Java-коммьюнити в целом, то на Java возвращаться мне явно смысла нет. Ибо «machines should work; people should think». И лучше потратить время на освоение чего-то нового и способствующего более производительному программированию :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Ну, повторюсь, если Ваша основная цель в этой теме была в том, чтобы выглядеть д'Артаньяном, то мешать мы в этом Вам не будем. Помогать, впрочем, тоже. С другой стороны, какая ещё помощь нужна настоящему д'Артаньяну?

Повторяться по третьему разу насчёт хелловорлдов в рамках выбранных фреймворков, я смысла не вижу.

AlexM ★★★★★
()
Ответ на: комментарий от KRoN73

Так это же фича почти уникальная для Go - держать папку bin и туда складывать бинари. В Maven придется подключить плагин сборки одного jar с зависимостями и потом java -jar myapp.jar

Но ЗАЧЕМ сравнивать с одной из центральных фич Go?

Я не бегу сравнивать с центральными фичами Java. Где в Go аналог ВСЕХ ФИЧ Spring Framework или Java EE 7? Где в Go сервера которые обгонят Netty, да хоть Fully Java EE 7 compliant сервер Wildfly? Согласен с вами на 100% если вы подумали что это идиотские вопросы. Но они в точности как ваши, с тем отличием что все-таки наличие Spring/Java EE важно почти любому многогодовому проекту, а наличие $GOPATH/bin сомнительная фича. Если нужно, то написать для Maven можно и такое. Вопросы которые я назвал при этому не перестают быть идиотскими в контексте обсуждения данного топика.

Если вам нужен очередной анализ прогрессивности ЯП аналитиками ЛОРа, то welcome to talks и создавайте новую тему. По этой теме вам все исчерпывающе разжевали как то что вы просите делается в Java. Можно закрывать глаза и говорить «я не вижу, потому что оно на два шага в сторону от того как я привык». Но если мне лисперы говорят что труЪ кодить на лиспе нужно в емаксе, то так оно и есть, хоть я не переношу, ни лисп, ни емакс и не собираюсь на нем кодить.

P.S. Если вам нужен $GOPATH для тестирования, то намекну что в Java как и в Go тестируют юнит-тестами. И mvn test если что.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 4)
Ответ на: комментарий от KRoN73

machines should work; people should think

Так же предпочитаю чтобы машины работали вместо того, чтобы я думал как найти какую-то библиотеку для Go или распарсить его дурацкий синтаксис

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

Но ЗАЧЕМ сравнивать с одной из центральных фич Go?

Потому что я в начале темы озвучил вполне конкретный вопрос. И продолжаю оставаться в его рамках. Сегодня куда ни плюнь, но любой уважающий себя язык стремится облегчить участь программиста. Даже PHP-сообщество родило Composer. И только в Java я вижу (по этому топику) мнение «зато у нас библиотек много, а то, что лишних 10 минут потрахаться надо вручную — это фигня».

Я помню такой подход у программистов Fortran 25 лет назад. И где они сейчас?

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

зато у нас библиотек много, а то, что лишних 10 минут потрахаться надо вручную — это фигня

Именно, согласен с каждым словом.

Ну ладно, позволю себе minor fix

лишних 10 минут один раз в длительном проекте

А сговнякать для прототипа hello world можно в IDE

vertexua ★★★★★
()
Ответ на: комментарий от vertexua

А сговнякать для прототипа hello world можно в IDE

И снова уходим в сторону за рамки задачи.

Ладно, я уже всё понял. Весь мир идёт не в ногу и только Java-программисты — в ногу :)

KRoN73 ★★★★★
() автор топика
Ответ на: комментарий от KRoN73

Ну может быть, но похожая ситуация у Java, .NET, C++, C. Ну и остальной мир, сколько там процентов его осталось наверное таки не в ногу. Там принято хвалиться что можно сделать бложек за 5 мин.

Кстати страдаю от засилья руби культуры в Scala. Так и есть, фреймворки аля Play настроены на 5 минутное бложекописание, но потом хватаешься за голову от вакуума практик модульности, отсутствия IoC, DI и подобного. В доках и туториалах все связано жуткими синглтонами и это народ хавает.

Я думаю просто community разное с разными потребностями. Всякие штуки аля асинхронщины, SPDY, веб-сокетов запили в обоих мирах, видно нужно всем. Но в Java не пилят скаффолдеров, так как например в сайтоЯП не пилят практик управления жизненным циклом или каких-то важных в длительных проектах вещей.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 2)

Автор, ты в своем вопросе «как в две комманды создать работающий сервер на джава» сродни человеку, спрашивающему «как мне в две комманды создать гуишное приложение под линукс, имея пакетный менеджер». А потом обижается, что ему предлагают сначала выбрать язык, тулкит, установить все необходимые компоненты, прочитать доки и только тогда приступать.

Сегодня куда ни плюнь, но любой уважающий себя язык стремится облегчить участь программиста.

В печь такие языки. Уважающий себя язык делает жизнь программиста проще, а не легче. Подход мейвена - это проще. Короче, смотреть Simple Made Easy до просветления.

unlog1c ★★★
()
Ответ на: комментарий от unlog1c

как мне в две комманды создать гуишное приложение под линукс, имея пакетный менеджер

s/создать/развернуть/

И, таки, emerge tomboy или apt-get install tomboy — это правильный путь. В отличие от wget ... && tar xf && cd && configure && make && sudo make install...

И, да, я ещё помню приверженцев и сторонников второго пути :D Впрочем, фанаты LFS ещё и сегодня есть.

Жаль, что многие не пробовали ничего слаще морковки :)

KRoN73 ★★★★★
() автор топика

Походу, надо копать в сторону Gradle и Travis-CI.

Только нифига пока не понял, как с последним примеры разворачивать.

Update: нет, Travis-CI — не то :)

KRoN73 ★★★★★
() автор топика
Последнее исправление: KRoN73 (всего исправлений: 1)
Ответ на: комментарий от vertexua

DI

Хм, а кто мешает выбрать DI по вкусу и пользовать его во все поля?

В доках и туториалах все связано жуткими синглтонами

Как будто внутри DI реализован не через «жуткий синглтон».

А вообще, синглтон - это не так плохо, если взглянуть на логику работы приложения как такового. Собственно, для многих приложений именно единственный инстанс сервиса является наиболее естественной сущностью для организации работы :)

Вот что лично меня напрягло во втором Плее и связанном с ним скала-окружении - это то, что парни пишут сиквель руками и гордятся этим. Впрочем, HQL - тот же рукописный сиквель, так что, большинству не привыкать...

AlexM ★★★★★
()
Ответ на: комментарий от KRoN73

Вот ещё пример совсем простого готового приложения:

Ты хочешь следующие пункты:

  • Скачать приложение
  • Собрать приложение
  • Запустить приложение

Я правильно понимаю? Если да, то примерно так это выглядит:

git clone ...            # получили проект
mvn compile assembly:single      # собрали 
java -jar ./target/${project-name-some-characters}.jar # запустили. для war, наверно будет немного иначе, но я в web'ом стараюсь не общаться особо

Для получения проекта юзают git/svn/hg/etc. Для сборки - maven (и, возможно, плагины к нему. я вот люблю плагин assemble). На выходе - single jar/war (или набор jar'ок например), которые уже можно засунуть в web server или запускать как душе угодно.

В pom.xml ручками расписываем что собирать, какие зависимости юзать, как назвать выхлоп и ещё куча всякой фигни.

Основная фишка, как по мне - независимость от IDE. Т.к. и IDEA и Eclipse ждут pom.xml как файл проекта, что достаточно удобно.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от Norgat

P.S. вот пример деплоя для Tomcat: http://www.mkyong.com/maven/how-to-deploy-maven-based-war-file-to-tomcat/

В итоге будет

mvn tomcat:deploy

или

mvn tomcat:redeploy

Думаю для любого ${JavaWebServerName} будет не особо сложно найти готовый плагин для maven.

Norgat ★★★★★
()
Последнее исправление: Norgat (всего исправлений: 1)
Ответ на: комментарий от KRoN73

Вот чтобы я ввёл их и получил бы запущенное приложение.

Что такое приложение?
jar or war ?

для war, если нет привязки к as, то
https://docs.codehaus.org/display/JETTY/Maven Jetty Plugin

mvn jetty:run


для томкета такое же есть.
Так же можно подымать базу данных, обычно это h2.

Пишешь как-то абстрактно, ты реальную задачу сформулируй, а не теоретическое «хочу счастье».
в maven есть практически всё, другое дело, что он сложен и с документацией беда

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)
6 января 2014 г.
Ответ на: комментарий от KRoN73

в мавене списком указываешь какие репозитории использовать

stevejobs ★★★★☆
()
Ответ на: комментарий от KRoN73

пакеты жавы нельзя хранить на гитхабе, т.к. жава распространяется без исходников. Если начать хранить стаметровые блобы на гитхабе, гитхаб тут же закончится весь.

регистрируешься где-нибудь на openshift или у какго-нибудь реселлера jelastic/digitalocean/amazon, поднимаешь на этой VPSке какой-нибудь artifactory, юзаешь

насколько помню, в artifactory/nexus есть возможность проксировать любой другой репозиторий (в т.ч. центральные), т.е. можно настроить его работать как оверелей поверх maven central. Будет такой вот собственный maven central + твои пакеты какие хочешь.

stevejobs ★★★★☆
()
Ответ на: комментарий от vertexua

неправда. мавен берет настройки из settings.xml, конкретно см. параметр <localRepository>/dev/m2repo</localRepository>. Свой settings.xml можно подсунуть c помощью параметров --settings и --global-settings команды mvn. Параметр --settings можно подсунуть скриптом-оберткой в ~/bin за 1 строчку.

stevejobs ★★★★☆
()
Ответ на: комментарий от KRoN73

То есть без строгой фиксации переменных окружения — никак?

/etc/profile:

export PATH=$HOME/bin:$PATH

~/bin/mvn:

export $M2_REPO=/my/dir

mvn --global-settings=/my/settings/settings.xml «$@»

stevejobs ★★★★☆
()
Ответ на: комментарий от KRoN73
mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app

serve не будет, т.к. проект мавена не обязан быть веб-приложением. Когда накодишь веб-приложение, там уже появятся mvn deploy, mvn exec итп

stevejobs ★★★★☆
()
Ответ на: комментарий от KRoN73

Т.е. Сам Play2 установить через maven нельзя?

play2 - это скала. Про скалу правильно говорить о sbt, а не о maven. (Sbt может использовать maven и ivy (а может и еще чего) в качестве бэкенда.)

Как делается? Смотрим тут: http://www.playframework.com/documentation/2.0/NewApplication листаем до заголовка «Create a new application without having Play installed»

play2-java днище

stevejobs ★★★★☆
()
Ответ на: комментарий от KRoN73
mvn archetype:generate -DarchetypeGroupId=com.vaadin -DarchetypeArtifactId=vaadin-archetype-application -DarchetypeVersion=7.1.9 -DgroupId=your.company -DartifactId=project-name -Dversion=1.0 -Dpackaging=war
cd project-name
mvn jetty:run

вот тебе генерация и запуск хелловорда на ваадин из мавена.

maloi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.