#java #jar #icon
Чтобы он заменял чашку кофе :)
Ответы
Ответ 1
У самого jar - никак, у него иконка определяется ассоциацией файла в windows. Можно обернуть jar в exe с помощью JSmooth - и поставить иконку на ваш вкус.
#java #jar #icon
Чтобы он заменял чашку кофе :)
Ответ 1
У самого jar - никак, у него иконка определяется ассоциацией файла в windows. Можно обернуть jar в exe с помощью JSmooth - и поставить иконку на ваш вкус.
#jar #java
Добрый день. Есть приложение написанное на java. Собрано оно в jar. Необходимо создать установщик под windows, создает директорию в программ файлс, копирует туда jar, создает ярлыки с рабочего стола и с панели, и если нет явы на машине то предлагает ее скачать и поставить. Может кто делал или знает что почитать?
Ответ 1
Попробуйте NSIS, или, например InnoSetup. У NSISа странноватый скриптовый язык, зато много плагинов и готового кода типа Java Launcher with automatic JRE installation.
#jar #java
Ребят, помогите плз. Создал программку, собрал Jar файл, делаю по нему двойной клик а он не запускается. Особенность в том что если запускать в ручную через cmd то все нормально. Если собирать wrapper-ом в exe. Как сделать так чтобы JAR сам по себе открывался по двойному клику?
Ответ 1
Процитирую ответ с SO For Windows 7: Start "Control Panel" Click "Default Programs" Click "Associate a file type or protocol with a specific program" Double click .jar Browse C:\Program Files\Java\jre7\bin\javaw.exe Click the button Open Click the button OK
#jar #java #классы
Каким образом вызвать исполнение jar файла из java программы(т.е. из нее будет осуществляться
вызов другой java программы)? (хотелось бы увидеть пример)
Каким образом вызвать исполнение class файла из java программы(т.е. из нее будет
осуществляться вызов другой java программы)? (хотелось бы увидеть пример)
Ответ 1
Для исполнения любой внешней программы: Process proc = Runtime.getRuntime().exec("java -jar A.jar"); ну и аналогично можно и класс исполнить. Вариант 2: ProcessBuilder pb = new ProcessBuilder("java", "-jar", "A.jar"); pb.directory(new File("/working/directory")); Process proc = pb.start();Ответ 2
В том же процессе можно выполнить нужный метод нужного класса с помощью reflection. Ниже пример вызова статического метода main(String[] args). try { //Загружаем класс с именем className Class targetClass = Class.forName(className); //Находим метод с именем "main" и списком параметров String[] Class[] argTypes = new Class[]{String[].class}; Method mainMethod = targetClass.getDeclaredMethod("main", argTypes); //В качестве параметра передаем пустой массив Object[] arguments = new Object[]{new String[0]}; mainMethod.invoke(null, arguments); } catch (ClassNotFoundException ex) { //handle exception } catch (NoSuchMethodException ex) { //handle exception } catch (InvocationTargetException ex) { //handle exception } catch (IllegalAccessException ex) { //handle exception }
#java #jar
Подскажите "обывателю" пожалуйста какой мой ход действий.
Есть jar-файл
Если его открыть как архив, то в нем будут .class и .java файлы
.class скомпилированные
.java видимо исходники, так как они читаются
Хочу поменять в исходнике часть функции. В этом понимание есть.
Как мне потом собрать обратно этот jar правильно?
Нужно скомпилировать из .java обратно в .class и потом упаковать в jar.
Я могу просто скомпилированный .class добавить внутрь jar как в архив? Или нужно
еще как-то пересобирать весь jar?
Внутри jar есть еще манифест, но в нем ничего не прописано, только Manifest-Version: 1.0
Ответ 1
Люди вы о чём? Вас спросили про jar файл, а вы сразу накидали кучу советов про maven, ItellijIDEA и пр. С чего вы решили, что у автора вопроса всё это есть? По сути. jar - это обычный ZIP-файл. Иногда бывает с подписями, контрольными суммами тогда что-то в нём исправить не получится. Если у вас простой файл, вы можете исправить java файл, перекомпилировать его с помощью javac в class файл и собрать jar файл заново с помощью обычного архиватора. В составе JDK есть файл JAR.EXE (если у вас Windows), который легко сделает это. Конечно удобнее всё делать в какой-либо Java IDE, если она у вас есть.Ответ 2
Если используешь maven добавь в пом файле должно быть jar или соответствующий плагин. Читай мануал. javac MyApp.java jar -cf myJar.jar myApp
#java #javafx #gui #jar #exe
Я создал приложение на языке java, но проблема в том, что после создания исполняемого
jar файла, я могу его запустить только со специальным программным обеспечением, соответственно
если кто-то попытается его запустить с другого компьютера, у него ничего не выйдет.
Как сделать исполняемый файл с расширением exe?
Ответ 1
Для того, чтобы преобразовать jar в exe, нужно скачать Launch4j, установить путь к начальному файлу и конечному результату (с нужным расширением) Нажать на вкладку JRE, в пункте Min JRE version написать 1.6.0_22 После чего нажать на шестерёнку, вбить имя доп файла и нажать saveОтвет 2
Если вы используете IntelliJ тогда в Project Structure -> Artifacts -> выберите Native Bundle: All далее выберите во вкладке Build -> Build Artifact -> имя приложения -> Build *.exe файл вы найдете тут: USER\IdeaProjects\projectname\out\artifacts\projectname\bundles\projectname -> там будет находится ваш .exe файл.
#python #jar #java #resources
Всем привет.
Я в python/jython новичок.
Возникла проблема: надо загрузить файлы из определенного каталога.
Локально, никаких проблем
for name in glob.glob("%s/*.json" % some_path):
log.debug(name)
definition = json.loads(file(name).read())
Проблемма вот в чем: основная аппликация на java распространяется как jar(s), и все
ресурсы тоже сидят в jar'e.
Путь к папке ресурсов определяется в jave:
URL resourceURL = CommonMethods.class.getClassLoader().getResource(resourceName);
String resourcePath = resourceURL.getPath();
String dirPath = resourcePath.substring(0, resourcePath.lastIndexOf("/")+1);
Если ресурс в jar'e, то получаем
dirPath="file:/opt/lib/core-lib-1.0.jar!/rulz/"
И glob.glob() не работает, думаю, что file(name).read() тоже. :(
Подскажите, как читать файлы питоном из jar'a?
Ответ 1
А вот так не подойдет? def show_jar_classes(jar_file): """prints out .class files from jar_file""" zf = zipfile.ZipFile(jar_file, 'r') try: lst = zf.infolist() for zi in lst: fn = zi.filename if fn.endswith('.class'): print(fn) finally: zf.close() То есть действуем так как-будто jar эквивалентен zip (взял здесь).
#java #linux #jar
Добрый день.
У меня имеется некий сервер на Debian на котором я запускаю некие Java файлы. Для
их запуска используется Java, которая уже установлена в систему.
Собственно вопрос в том, а могу ли я скачать другую версию Java в какую-то папку
и уже запускать мои файлы не с помощью системной версии Java, а с той, которую скачали
отдельно? Если да - то какой командой. Спасибо
Ответ 1
Да, разумеется можете. Допустим, вы запускаете файл с помощью системной java так: java -jar myapp.jar тогда если скачав другую версию, например в директорию /home/user/downloads/jdk/ вы можете запускать свой файл так: /home/user/downloads/jdk/bin/java -jar myapp.jar
#java #классы #jar #main
В JAR-файле (Test.jar) есть несколько классов с методом main (Class1, Class2).
Как запустить заданный класс из консоли?
java -jar Test.jar Class1
java -jar Test.jar Class2
Ответ 1
При запуске можно указать любой исполняемый класс. Для того, чтобы был доступен класс из заданного JAR, нужно добавить его в classpath: java -cp Test.jar Class1 Если в манифесте JAR прописан параметр Main-Class Manifest-Version: 1.0 Main-Class: Class1 , то указанный класс будет запускаться при запуске исполняемого JAR: java -jar Test.jar Ссылки: JAR file manifest specificaiton How to run a class from Jar which is not the Main-Class in its Manifest file? Java Tutorial: Setting an Application Entry Point
#java #jar
Требуется достать полный путь исполняемого файла, но при этом вернуться на 1 каталог
назад, к примеру
мой класс.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()
Возвращает
/C:/Users/Arturs/Desktop/DIV.jar
но мне нужно довести до /C:/Users/Arturs/
Есть ли какие то предусмотренные функции, что бы не приходилось обрезать строку,
высчитывая количество символов справа.
Ответ 1
Попробуй так: Path path = Paths.get(твой_класс.class.getResource(".").toURI()); System.out.println(path.getParent()); // <-- Parent directory System.out.println(path.getParent().getParent()); // <-- Parent of parent directoryОтвет 2
Попробуй new File(мой класс.class.getProtectionDomain().getCodeSource().getLocation().toURI().getPath()).getParent();
#java #git #github #jar
Опыт java и Git ~1 месяц, ОС linux mint.
Нужна ваша помощь:
1.В начале забыл добавить в .gitignore папку target/ в которой хранятся скомпилированные
*.jar *.class и прочие файлы.
2.позже через несколько коммитов обнаружил что папка .git весит 12+ мегабайт, по
размеру предполагаю что это забытый мной jar файл (кода у меня ~15 килобайт, все .class
файлы ~14 килобайт)
3.нашел этот файл руками он весит 12 МБ и лежит в папке
.git/objects/pack/pack-2af1dfb851dabe3d606e0d0f9ad7ba84fd74f043.idx
Прошел несколько вопросов на русском и английском stackoverflow + google
пробовал следующее:
git filter-branch --index-filter 'git rm --cached --ignore-unmatch
FILENAME' --prune-empty -- --all
git filter-branch --index-filter 'git rm --cached --ignore-unmatch
FILENAME' HEAD
git filter-branch --force --index-filter 'git rm --cached
--ignore-unmatch FILENAME' --prune-empty --tag-name-filter cat -- --all
Вместо FILENAME пробовал подставлять вот это:
target/gs-rest-service-0.1.0.jar
gs-rest-service-0.1.0.jar
target/
*.jar
толку не дало.
В итоге у меня 2 вопроса:
-Как выяснить что это весит 12МБ в папке .git и как это удалить?
вот ссылка на мо проект на github, можно скачать как zip-архив или клонировать:
git clone https://github.com/jiraff537/tic-tac-toe-RESTfulWebService.git
(да я пытаюсь написать Rest-бэкэнд на Spring Boot'e для крестиков-ноликов)
Ответ 1
вы можете посмотреть содержимое каталога target (во всех коммитах): $ git filter-branch --tree-filter 'ls -l target' Rewrite c05ea07d436c9e6c96f9e441bd469ae89d6383b4 (1/29)total 14056 drwxr-xr-x 3 user user 4096 May 23 14:27 classes -rw-r--r-- 1 user user 14352691 May 23 14:27 gs-rest-service-0.1.0.jar -rw-r--r-- 1 user user 3829 May 23 14:27 gs-rest-service-0.1.0.jar.original drwxr-xr-x 2 user user 4096 May 23 14:27 maven-archiver drwxr-xr-x 3 user user 4096 May 23 14:27 maven-status ... или информацию о конкретном файле target/gs-rest-service-0.1.0.jar: $ git filter-branch --tree-filter 'ls -l target/gs-rest-service-0.1.0.jar' Rewrite c05ea07d436c9e6c96f9e441bd469ae89d6383b4 (1/29) -rw-r--r-- 1 user user 14352691 May 23 14:29 target/gs-rest-service-0.1.0.jar ... удалить файл во всех коммитах можно, например, так: $ git filter-branch --tree-filter 'rm -f target/gs-rest-service-0.1.0.jar' Rewrite f2133e7b3d7f209f43e88b802a6589cb2a1eadfd (29/29) Ref 'refs/heads/master' was rewritten после такого переписывания истории в своём локальном репозитории вам придётся перезаписать историю и в репозитории на сайте github.com, добавив опцию -f (--force) команде push: $ git push -f p.s. если репозиторий был склонирован ещё куда-то/кем-то, то там/тому надо будет принудительно переключиться на отправленную вами переписанную историю: $ git fetch $ git reset --hard origin/master или просто заново склонировать репозиторий в пустой каталог. как это удалить? после того, как вы перезаписали историю, объект типа blob, содержащий удалённый файл, стал «осиротевшим». чтобы удалить его, надо воспользоваться командой gc (gargabe collection): $ git gc Counting objects: 500, done. Delta compression using up to 4 threads. Compressing objects: 100% (222/222), done. Writing objects: 100% (500/500), done. Total 500 (delta 221), reused 413 (delta 172) как показывает вывод команды $ du -sb .git (выполненной до и после $ git gc), занимаемый каталогом .git объём изменился на 242997 байт (13254649-13011652). вероятно, именно столько занимал удалённый файл (в сжатом виде). после того, как вы перезаписали свою локальную историю, удалённый файл (пока) не стал «осиротевшим» — на него есть ссылки из (пока не переписанной) истории подключенного репозитория (который на github-е находится). после того, как вы перепишете историю и на github-е, команда $ git gc должна будет удалить объект типа blob, содержащий этот «осиротевший» файл. дополнение полную очистку и упаковку всех объектов, чтобы добиться минимального размера каталога .git, можно выполнить примерно так: $ git gc; git prune; git repack -ad ваш репозиторий (т.е., содержимое каталога .git), после удаления того большого файла, и полной переупаковки, стал занимать у меня 187165 байт.
#jar #java
Сколько и где задаются аргументы при запуске jar - файла?
Как их прочитать в программе?
Ответ 1
В общем случае можно сделать так: java -jar myCode.jar param1 param2... В процессе написания вашего когда, вы, по всей видимости воспользуетесь фцнкцией public static void main(...). Данная функция в качестве аргумента принимает массив String[] args, который и будет в себе содержать параметры param1, param2...Ответ 2
Аргументы задаются после названия jar файла который Вы запускаете. аргументы разделаются пробелом их может быть очень много. java -jar MyFile.jar par1 par2 par3 par4 .... Это все передается в main(String[] args) - args и есть массив параметров которые вы передаетеОтвет 3
Выполните комадну java без аргументов и получите всю необходимую информацию.
#java #jar #декомпиляция
Есть JAR файл. Необходимо декомпилировать один из его классов, отредактировать одно
значение и закомпилировать обратно.
Ответ 1
Если хотите сделать это одноразово, то попробуйте JAD. Но учтите, что декомпиляторы не всегда могут получить исходник из .class-файла. Предположим, вы сумели его декомпилировать верно. После этого, его надо собрать обратно. Чтобы это сделать, надо воспользоваться компилятором. javac -cp исходный.jar:библиотеки.jar исправленный.класс.java (если под виндой, то библиотеки надо разделять точкой с запятой вместо двоеточия) Ну а потом запаковать с помощью утилиты jar или какого-нибудь winrar Если JAD не выдаёт плохой исходник, то можно попробовать другие варианты декомпиляторов. В худшем случае, вам придётся после декомпиляции разбираться в байткоде и руками править неверно декомпилированный код. UPD Также есть возможность вскрыть .class-файл и править его с помощью Apache BCEL. С его помощь можно подгрузить класс, модифицировать его, а потом обратно записать. Правда Apache BCEL - программное средство, а не тула, так что вам придётся написать программу, которая бы патчила класс нужным образом.
#java #jar
Как правильно добавить картинку в проект java. При отладке картинка отображается,
но после сборки проекта в jar, картинки нет.
systemTray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("src\\images\\logo-main2.png");
TrayIcon trayIcon = new TrayIcon(image , "GrindFM", popupMenu);
trayIcon.setImageAutoSize(true);
systemTray.add(trayIcon);
Ответ 1
Проблема в том, что вы загружаете ресурс с диска, а не с jar'ника. Когда вы работаете в dev окружении, вы запускаете jar'ник оттуда, откуда можно пройти по папкам на диске и дойти до этой картинки. Когда вы запускаете это на другом ПК, то там соответственно этой папки нет. Вам нужно использовать загрузку ресурсов из classpath, для этого поменяйте код следующим образом systemTray = SystemTray.getSystemTray(); URL resource = getClass().getResource("images/logo-main2.png"); Image image = Toolkit.getDefaultToolkit().getImage(resource); TrayIcon trayIcon = new TrayIcon(image , "GrindFM", popupMenu); trayIcon.setImageAutoSize(true); systemTray.add(trayIcon); Все должно заработать
#java #jar #linux
Прошу отнестить с пониманием, поскольку я новичок в Java. Пытался запустить jar файл
в Linux с помощью команды
./java -jar /Samplejavaprogram/Sample.jar
и получил в результате сообщение
no main manifest attribute, in /Samplejavaprogram/Sample.jar
Подскажите, что именно надо добавить в команду (хотелось бы знать конкретный текст),
чтобы выполнить java программу.
Привожу текст программы (может быть в нем причина)
package org.myorg;
import java.io.*;
import java.util.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.logging.Level;
import java.util.*;
public class Sample {
public static void main (String[] args) throws IOException {
int CountComputers;
FileInputStream fstream = new FileInputStream(
"/export/hadoop-1.0.1/bin/countcomputers.txt");
DataInputStream input = new DataInputStream(fstream);
BufferedReader br = new BufferedReader(new InputStreamReader(input));
String result=br.readLine();
CountComputers=Integer.parseInt(result);
input.close();
fstream.close();
Connection con = null;
Statement st = null;
ResultSet rs = null;
String url = "jdbc:postgresql://192.168.1.8:5432/NexentaSearch";
String user = "postgres";
String password = "valter89";
ArrayList paths = new ArrayList();
try
{
con = DriverManager.getConnection(url, user, password);
st = con.createStatement();
rs = st.executeQuery("select path from tasks order by id");
while (rs.next()) { paths.add(rs.getString(1)); };
PrintWriter zzz = null;
try
{
zzz = new PrintWriter(new FileOutputStream("/export/hadoop-1.0.1/bin/readwaysfromdatabase.txt"));
}
catch(FileNotFoundException e)
{
System.out.println("Error");
System.exit(0);
}
for (int i=0; i
Ответы
Ответ 1
Запускаете вы правильно (если забыть про слеш в начале пути к jar; у вас что, папка
Samplejavaprogram в корневой директории лежит?). Ошибка в манифесте jar-файла, который
вы пытаетесь запустить. Скорее всего отсутствует свойство Main-Class. Проверьте, чтобы
в вашей Sample.jar в папке META-INF был файл MANIFEST.MF, а в нём строка Main-Class:
путь.к.вашему.главному.классу.ГлавныйКласс.
Ответ 2
Я бы еще посоветовал использовать сборщик проектов, на-пример, Gradle.
Добавив скрипт сборки в ваш проект, Gradle сделает все за Вас.
Вот пример скрипта который при сборке проекта будет паковать все в .jar
build.gradle
group 'MyApplication'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'application'
sourceCompatibility = 1.8
targetCompatibility = 1.8
mainClassName ="com.common.Application"
buildscript {
repositories {
mavenCentral()
}
}
repositories {
mavenCentral()
}
// Include dependent libraries in archive.
jar {
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
//JSON
compile group: 'org.json', name: 'json', version: '20090211'
//Log4j
compile group: 'log4j', name: 'log4j', version: '1.2.16'
}
#java #linux #intellij_idea #debian #jar
Java, Intellij IDEA
Написал программу.
На вход даются файлы: *.tsv, *.xml
На выходе получить *.txt вариант таблицы
Полтора дня писал программу.
Когда запускаю итоговый вариант в IDE через "Edit configuration...", всё замечательно
компилируется и выдаётся тот самый заветный файл.тхт.
Но крайнее требование в ТЗ, чтобы программа выдавала файл посредством вызова команды
в терминале типа:
java Name.class file.xml file.tsv result.txt
И вот тут я завис окончательно, потому что из директории ./out/../Name.class эта
команда выдаёт
Could not find or load main class Name.class
Потеряв надежду (было много попыток и гугла ~10-15 минут), решил запилить jar файл
и тупо отправить его HRу.
Но чего-то передумал и решил написать сюда.
Git я знаю на уровне
init, commit, status, add
т.е. только на уровне сохранить у себя.
Пытался
git add --all
но он оказывается не хочет добавлять папки (онли файлы)
fatal: CRLF будет заменен на LF в settings.xml.
Напишите пожалуйста:
Откуда (директория) всё-таки нужно запускать java Name.class... и что перед этим
может нужно сделать в IDEA (экспортировать/импортировать/...)?
Каким путём отправить файл HRу (общались по почте)?
PS: ноутбук к нему не понесу
PPS: у меня стоит Debian
Ответ 1
Не обязательно собирать jar для запуска программы. По сути jar является лишь архивом, содержащим в себе все скомпилированные файлы (с расширением .class), а также файл манифеста, в котором помимо всего прочего указано, с какого класса начать запуск программы (в каком из классов имеется нужный метод main). Как запустить jar уже описывали выше. А для того, чтобы запустить программу не из пакета, а ту, которая просто скомпилирована в виде файла .class необходима следующая команда: java {ClassName} {arguments} где ClassName - полный путь до класса, включая имя пакета, если он есть. Кроме того, скомпилированный файл, соответствующий указанному классу должен быть расположен в папке, соответствующей пакету: например, если есть файл Test1.class (с классом Test1 без пакета) - строка запуска будет java Test1 из той же папки; если есть файл Test2.class (соответственно с классом Test2 и указанием пакета org.sample) - запуск будет осуществляться командой java org.sample.Test2, а файл Test2.class должен лежать в папке org/sample относительно места, откуда производится запуск. Надеюсь, это будет полезно.Ответ 2
Собираем артефакт! Затем прописываем java -jar Name.jar file.xml file.tsv res.txt Огромное спасибо, Lex.Ответ 3
Если плохо знаеш Git, то можна закинуть проект на GitHub через Intellij IDEA. Вот тут подробно расписано: https://www.javacodegeeks.com/2014/04/how-to-add-an-intellij-project-to-github.html
#java #jar #архивация
Не могу создать создать исполняемый архив JAR .Как я понял данная проблема должна
решаться с помощью Terminal ,НО ОН У МЕНЯ И НЕ РАБОТАЕТ(не могу туда заносить текст,как
и печатать там ,так и вставлять туда скопированный текст).Также как использовать при
компиляции флаги.Также где набирать команду для создания jar-архива?
Ответ 1
В идее сначала идете в File | Project Structure | Artifacts, там создаете новый artifact, jar --> From modules with dependencies Потом Build | Build artifactsОтвет 2
По-хорошему у вас должна быть система сборки, которая сама этим занимается. Самые известные - это Maven, Gradle и Ant. Кроме простой компиляции в war/jar эти системы умеют еще много полезных штук, в том числе подчищать директории от промежуточных файлов, подправлять файлы в момент компиляции, прогонять тесты и многое другое. После этого достаточно добавить задачи в Run Configurations, и IDEA сама озаботится вызовом консольных команд, останется только запускать нужные конфигурации.
#java #jar
Вопрос такой что такое jar файл и зачем он нужен на практике. Ведь если есть файл
java, есть файл class который уже переведен в байт-код, зачем тогда jar файл?
Какая его функция и можно ли без него обойтись?
Ответ 1
JAR-файл — это Java-архив (Java ARchive). Это простой архивный файл, сжатый (иногда с нулевой компрессией) по алгоритму zip. Он был создан для удобства распространения программ, написанных на Java. Так как обычная программа содержит сотни, тысячи, а иногда и миллионы файлов. Файл может содержать: файл манифеста META-INF/MANIFEST.MF java-файлы (исходный код) class-файлы файлы, необходимые для работы программы: картинки, файлы с настройками и прочее (ресурсы) электронные подписи, которые позволяют защитить программу от модификации Манифест - это текстовый файл формата ключ: значение; он содержит описание jar-файла. В нем могут быть следующие ключи: Manifest-Version - версия манифеста Main-Class - имя главного класса (должен содержать метод main), такой jar-файл можно запустить как обычный исполняемый файл Class-Path - позволяет указать CLASSPATH, который необходим для полноценной работы программы SHA-Digest - контрольная сумма определенного файла внутри архива Кроме jar, также существуют другие архивы, связанные с Java: WAR (Web Application aRchive) - содержит в себе приложение для веба EAR (Enterprise Application aRchive) - содержит в себе энтерпрайз приложение (обычно из нескольких модулей) APK (Android aPplication pacKage) - содержит в себе приложение для Android Можно ли обойтись без? В принципе, можно, все что вам необходимо - это всегда точно копировать структуру вашего приложения. То есть все класс-файлы и файлы с ресурсами должны располагаться в правильных директориях. Переменная CLASSPATH должна содержать пути ко всем зависимостям. Если эти условия соблюдены, то ваше приложение будет работать без упаковки в jar. P.S. В переводе с английского, jar - означает банка, стеклянный или керамический цилиндрический контейнер с широким горлом, предназначенный для хранения еды (обычно). Кофе часто хранят в банках, так что тут игра слов: банка с кофе - банка с java-классами.
Привет народ! Сорри за тупой вопрос.
Как закрыть консоль из которой вызвал java приложение?
я создал такой .bat файл:
java -jar Application.jar
Запускаю его. Он запускает моё приложение. У меня вылазит мой JFrame. А консоль остается до тех пор пока я не закрою этот Jframe. Если закрываю консоль приложение тоже закрывается.
Код main такой
public static void main(String[] args) {
frame = new SomeFrame();
frame.enterHowUnregistred();
frame.init();
frame.setSize(884, 595);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}
Порылся в инете и нашел это: смысл в том что консоль почти сразу закроется и оставит только ваше приложение:
start javaw -jar Application.jar
Притом выполнять надо именно через javaw
Ребят, помогите плз. Создал программку, собрал Jar файл, делаю по нему двойной клик а он не запускается. Особенность в том что если запускать в ручную через cmd то все нормально. Если собирать wrapper-ом в exe. Как сделать так чтобы JAR сам по себе открывался по двойному клику?
Процитирую ответ с SO
For Windows 7:
Start "Control Panel"
Click "Default Programs"
Click "Associate a file type or protocol with a specific program"
Double click .jar
Browse C:\Program Files\Java\jre7\bin\javaw.exe
Click the button Open
Click the button OK