Компіляція та запуск Java-коду у піднесеному тексті 2


80

Я намагаюся скомпілювати та запустити код Java у Sublime Text 2. Не просто просити мене робити це вручну в командному рядку. Хтось може мені сказати як?

До речі, я на Windows 7 ...


4
Начебто на піднесених форумах є відповіді на це: sublimetext.com/forum/viewtopic.php?f=3&t=4805 , sublimetext.userecho.com/topic/…
madth3

я вже спробував ці ... я отримую це: [Помилка 2] Система не може знайти вказаний файл [Готово]
tolluy

2
Ця проблема вирішена в публікаціях на форумі. Мені потрібно додати java та javac до свого PATH.
madth3

У моєму випадку, коли я намагався лише створити і запустити один файл Java у бета-версії Sublime Text 3 в Windows 7 за допомогою однієї команди Ctrl + B, поставивши наступне під "<Sublime Text 3> \ Packages \ Java \ JavaC.sublime -build "файл (створена папка / файл, який не існував) спрацював. За потреби змініть свій каталог смітника Java. {"cmd": ["javac", "$ file_name", "&&", "java", "$ file_base_name"], "shell": true, "path": "C: \\ Програмні файли (x86) \ \ Java \\ jdk1.8.0_05 \\ bin "," file_regex ":" ^ (... *?): ([0-9] *):? ([0-9] *) "," селектор " : "source.java"}
Lal

1
На завершення, жодна з наведених нижче відповідей, здається, не підтримує нічого складнішого, ніж базовий тип програми "hello-world". Будь-яка програма, яка має зовнішній імпорт і вимагає встановлення CLASSPATHта / або передачі cpперемикача для проекту, не буде працювати. Вам або потрібно буде змінювати систему збірки кожного разу, коли ви хочете працювати над іншим проектом, або знаходити якесь інше рішення (лише мазохістський соціопат змінює CLASSPATHзмінну на рівні ОС кожного разу).
Synetech

Відповіді:


77

Отже, це те, що я додав до файлу JavaC.sublime-build

{
    "cmd": ["javac", "-Xlint", "$file"],
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",

    "variants": [

        { "cmd": ["javac", "-Xlint", "$file"],
          "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
          "selector": "source.java",
          "name": "Java Lintter"
        },  

        { "cmd": ["java", "$file_base_name"],
          "name": "Run Java"
        }
    ]
}

Це робить те, що створює варіанти звичайної команди build ( ctrl+b). За допомогою ctrl+ bви все одно зможете скомпілювати свій код. Якщо ви зробите shift+ ctrl+, bбуде запущено перший варіант, який у цьому випадку є javac з опцією -Xlint. Другий і остаточний варіант - це сама команда Java. Ви можете розмістити це як свій перший варіант, і shift+ ctrl+ bфактично виконає код Java.

Також зауважте, що кожен варіант має назву "ім'я". Це в основному дозволяє цій конкретній опції "побудувати" відображатися в опції shift+ ctrl+ p. Отже, використовуючи цю конфігурацію, ви можете просто зробити shift+ ctrl+ pі набрати "Запустити Java" і натиснути enter, і ваш код буде виконаний.

Сподіваюся, це допомогло.


10
Якщо ви хочете використовувати ctrl + shift + b для запуску, змініть поле "name" на "Run".
mtyurt

4
Це змінилося для ST3: * замініть "cmd" на shell_cmd * видаліть квадратні фігурні дужки * поставте всю команду в рядок
Dagoth Ulen,

1
+1 Як кажуть документи збірки ST , команди збірки не обов'язково повинні компілювати файл, вони можуть запускати що завгодно, включаючи скомпільовану програму. Таким чином, ця відповідь є правильним способом компіляції та запуску Java із ST (2) без використання командного рядка. (Насправді, TextPad має подібну здатність визначати та запускати довільні програми, а також має вбудовану підтримку Java, що дозволяє прив'язувати одну комбінацію клавіш до компіляції, а іншу - запускати.)
Synetech,

спасибі за це спрацювало. і спасибі @mtyurt, змінено Run Javaна Runта ctrl+shift+bвиконує програму, що виконується зараз .
Нішант Бхакта,

А де можна знайти *.sublime-buildфайл?
Гупта,

19

Я вважаю, що метод у програмі Компіляція та запуск Java із Sublime Text 2 працює добре і є трохи зручнішим за інші методи. Ось посилання на архівну сторінку.

Для Windows:

Крок 1:

Створіть runJava.batза допомогою наступного коду.

@ECHO OFF
cd %~dp1
ECHO Compiling %~nx1.......
IF EXIST %~n1.class (
DEL %~n1.class
)
javac %~nx1
IF EXIST %~n1.class (
ECHO -----------OUTPUT-----------
java %~n1
)

Скопіюйте цей файл у каталог jdk bin.

Крок 2:

  1. Відкрийте каталог пакунків Sublime, скориставшись Налаштування> Переглянути пакети ..
  2. Перейдіть до папки Java
  3. Відкрийте JavaC.sublime-build і замініть рядок
    "cmd": ["javac", "$file"],
    на
    "cmd": ["runJava.bat", "$file"],

Готово!

Пишіть програми та запускайте за допомогою CTRL + B

Примітка : Інструкції для Sublime 3 різні.


15

Sublime Text 3 має дещо інше рішення. Це модифікація відповіді vijay, якою я користувався раніше.

 {
     "shell_cmd": "javac -Xlint \"${file}\"",
     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
     "working_dir": "${file_path}",
     "selector": "source.java",

     "variants":
     [
          {
               "name": "Run",
               "shell_cmd": "java \"${file_base_name}\""
          }
     ]
 }

Вставте вищевказане у новий файл із назвою JavaC.sublime-buildта додайте до своїх пакунків користувачів. Це можна знайти в C:\Users\You\AppData\Roaming\Sublime Text 3\Packages\User.

Ctrl-B буде скомпільовано. Запуститься Ctrl-Shift-B.


2
Хороша робота. Це працює і на Linux, хоча мені, здавалося, не потрібні були додаткові подвійні лапки та провідний символ втечі. = :). Але це працює. Дякую.
NYCeyes

8

Ця версія JavaC.sublime-build, яка відредагована за допомогою відповіді vijay, працює для мене як на Windows 7, так і на Mac для Sublime Text 3.

Я відредагував його, так що Ctrl + b або command + b достатньо для того, щоб побудувати + запустити.

{
"shell_cmd": "javac -Xlint $file && java $file_base_name",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java",
"shell": true
}

"&&" гарантує, що друга частина працює лише тоді, коли перша частина успішна, тобто лише тоді, коли генерується файл класу. Більше пов'язаної інформації можна знайти тут: http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true


1
Це рішення працює для піднесеного тексту 2 теж , якщо заміна shell_cmdз cmd. Це єдине рішення, яке спрацювало для мене. Дякую.
Андрічі Олексій

7

компілювати та виконувати відповідно до документації піднесеного тексту 2-го та 3-го

крок 1: встановіть змінні середовища для Java, як ви вже знаєте або десь посилаєтесь

strp-2: відкрийте новий документ і скопіюйте вставний код нижче

{
"cmd": ["javac", "$file_name", "&&", "java", "$file_base_name"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.java",
"shell":true }

крок 3: збережіть документ як userjavaC.sublime-build у каталозі C: ​​\ Users \ myLapi \ AppData \ Roaming \ Sublime Text 3 \ Packages \ User

крок 4:

після закінчення виберіть як інструменти-> побудувати системи-> userjavaC

для компіляції та запуску натисніть ctrl + b


6

Я використовую Windows 7. Наведене нижче рішення працює для мене !!

**Open** the file JavaC.sublime-build and replace all the code in the file with the code below:

{
 "cmd": ["javac", "$file_name","&&","java", "$file_base_name"],
 "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
 **"path": "C:\\Program Files\\Java\\jdk1.6.0\\bin\\",**
 "selector": "source.java",
 "shell": true
 }

Не забудьте замінити "C: \ Program Files \ Java \ jdk1.6.0 \ bin \" на шлях, куди ви помістили свій jdk. І обов’язково додайте шлях до вашого Java JDK до змінної середовища "PATH". Зверніться до публікації bunnyDrug, щоб налаштувати змінну середовища. Найкраще !!


3

Зверніться до рішення за адресою: http://www.compilr.org/compile-and-run-java-programs/

Сподіваюся, це вирішує як компіляцію, так і запуск класів у піднесеному ..... Ви можете побачити мій сценарій у розділі коментарів, щоб спробувати його на випадок mac ...

РЕДАКТУВАТИ: На жаль, наведене вище посилання порушено. У ньому детально описані всі кроки, необхідні для компіляції та запуску Java у піднесеному тексті. У будь-якому випадку для систем mac або linux має працювати наступне:

змінити файл javac.sublime-build:


#!/bin/sh

classesDir="/Users/$USER/Desktop/java/classes/"
codeDir="/Users/$USER/Desktop/java/code/"
[ -f "$classesDir/$1.class" ] && rm $classesDir/$1.class
for file in $1.java
do
echo "Compiling $file........"
javac -d $classesDir $codeDir/$file
done
if [ -f "$classesDir/$1.class" ]
then
echo "-----------OUTPUT-----------"
java -cp $classesDir $1
else
echo " "
fi

Тут я створив папку з назвою "java" на робочому столі та підкаталоги "класи" та "код" для підтримки файлів .class та .java відповідно, ви можете змінити по-своєму.


Посилання розірвано, що там сказано?
ninMonkey

2

Як докладно тут:

http://sublimetext.userecho.com/topic/90531-default-java-build-system-update/

Кроки, які я зробив, щоб виправити це

  1. Натисніть кнопку Пуск

  2. Клацніть правою кнопкою миші на "Комп'ютер"

2.5 Клацніть Властивості.

  1. Ліворуч виберіть "Розширені налаштування системи"

  2. Унизу натисніть "Змінні середовища"

  3. Прокрутіть вниз до розділу "Системні змінні", поки не знайдете "PATH" - натисніть редагувати, вибравши це.

  4. Додайте шлях до папки для сміття Java. Моє закінчується виглядати так:

    КОД: ВИБЕРІТЬ ВСЕ

    ; C: \ Program Files \ Java \ jdk1.7.0_03 \ bin \


це не працює, я натискаю кнопку «Пуск», клацаю правою кнопкою миші «Комп’ютер», і я не отримую нічого, лише одне меню, а не подвійне… і я слідував підручникам newbostons, тому я вже робив те, що стосується PATH
tolluy

2

Для Sublime Text 3
у "C: \ Program Files \ Sublime Text 3 \ Packages" ви отримуєте java.sublime-package, копіюєте його в іншу папку, змінюєте його розширення з .sublime-package на zip і витягуєте його, отримуєте JavaC.sublime-build файл для ваших Модифікацій, як зазначено вище.
після всіх модифікацій витягнутої папки Java знову перетворити на .zip і змінити її розширення .zip на .sublime-package. після цього скопіюйте та вставте цей файл у C: \ Program Files \ Sublime Text 3 \ Packages.
це вам допоможе!

(навіть ви отримуєте мій файл з http://upfile.mobi/363820 або http://www.4shared.com/file/73SkzY-Kba/Java.html посилання, яке я використовую для запуску коду Java, я використовую фокус "Уеслі Бо" "отже, вам потрібно скопіювати файл runJava.bat у каталог C: \ Program Files (x86) \ Java \ jdk1.8.0 \ bin, як він каже. і скопіювати зв'язаний файл вище в C: \ Program Files \ Sublime Text 3 \ Packages )


2

Ви можете повністю скомпілювати та запустити свій код на ST, і це дуже швидко / просто. Існує нещодавній пакет ST під назвою Javatar, який може це зробити. https://javatar.readthedocs.org


2

Це код для компіляції та запуску Java у піднесеному тексті 3

"shell_cmd": "javac -d. $ file && java $ {file_base_name}. $ {file_base_name}", "shell": true


1

Я пішов за дописом у цій темі і змусив його працювати ідеально:

Створіть файл bat наступним чином і збережіть його де завгодно у своєму PATH. Я пропоную C: \ Program Files \ Java \ jdk * \ bin \, щоб тримати все разом.

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

потім відредагуйте C: \ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-build, вміст буде

{
   "cmd": ["javac", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

замініть "javac" на ім'я вашого файлу bat (наприклад, javacexec.bat) і збережіть його.


1

Виконуючи наведені нижче дії, ви отримаєте 2 системи побудови у піднесеному стилі - "JavaC" та "JavaC_Input".

"JavaC" дозволить вам запускати код, який не вимагає введення користувачем, і відображати результати в симуляторі терміналів Sublime, що є зручним і приємним на вигляд. "JavaC_Input" дозволяє запускати код, який вимагає введення користувачем в окремому вікні терміналу, він може приймати введення користувача. Ви також можете запустити код, що не вимагає введення, у цій системі збірки, тому, якщо ви не заперечуєте спливаюче вікно, ви можете просто дотримуватися цієї системи збірки і не перемикатися. Ви перемикаєтеся між системами побудови з Інструменти -> Система побудови. І ви компілюєте та запускаєте код, використовуючи ctrl + b.

Ось кроки для досягнення цього:

(Примітка: Переконайтеся, що у вас вже є базове налаштування системи Java: встановіть JDK та налаштуйте правильні CLASSPATH та PATH, я не буду детально розбиратися про це)

Налаштування системи побудови "JavaC"

1, Створіть файл bat з таким кодом і збережіть його в папці C: \ Program Files \ Java \ jdk * \ bin \, щоб зберегти все разом. Назвіть файл "javacexec.bat".

@ECHO OFF
cd %~dp1
javac %~nx1
java %~n1

2, потім відредагуйте C: \ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \ JavaC.sublime-build (якщо такого немає, створіть), вміст буде

{
   "cmd": ["javacexec.bat", "$file"],
   "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
   "selector": "source.java"
}

Налаштування системи побудови "JavaC_Input"

1, Встановіть Cygwin [ http://www.cygwin.com/]

2, перейдіть до C: \ Users \ your_user_name \ AppData \ Roaming \ Sublime Text 2 \ Packages \ Java \, а потім створіть файл "JavaC_Input.sublime-build" із таким вмістом

{
"cmd": ["javacexec_input.bat", "$file"],
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"selector": "source.java"
}

3, Створіть файл bat із таким кодом та збережіть його в папці C: \ Program Files \ Java \ jdk * \ bin \, щоб зберегти все разом. Назвіть файл "javacexec_input.bat".

@echo off
javac  -Xlint:unchecked %~n1.java 
start cmd /k java -ea %~n1

1
{
"shell_cmd": "javac -Xlint  \"${file}\"",
"file_regex": "^(...*?):([0-9]*):?([0-9]*)",
"working_dir": "${file_path}",
"selector": "source.java",

"variants": [

    { "shell_cmd":"javac -Xlint  \"${file}\" && java $file_base_name  < input.txt > output.txt",
      "name": "Run"
    }
   ]
}

збережіть цю піднесену збірку і запустіть програму за допомогою ctrl + shift + B з варіантом запуску. Без варіанту запуску він просто створить файл .class, але не запускатиме його.

Ця збірка буде читати вхідні дані з input.txt і друкувати вихідні дані у output.txt.

Примітка : і input.txt, і output.txt повинні бути присутніми в тому ж робочому каталозі, що і ваш файл .java.


0

Переконайтеся, що спочатку встановили JDK / JRE.

Якщо ви користувач mac, виконайте такі дії:

відкрити термінал, перейдіть до кореневого словника, набравши

компакт-диск ..

неодноразово. використання

ls

щоб побачити, чи досягли ви кореня

Ви побачите папку Бібліотека. Тепер дотримуйтесь цього шляху Library / Java / JVM / bin Після того, як ви потрапите в bin, ви побачите файл JavaC

Тепер вам потрібно отримати шлях до цієї папки, для цього просто напишіть цю команду

pwd

Скопіюйте вставте його у свій піднесений файл JavaC та побудуйте код Java у піднесеному на cmd + b.


0

Відповідь Алекса Яо - найпростіше рішення, якщо ви просто хочете створити та запустити програму Java без використання будь-якого вводу з консолі, використовуйте рішення, яке надав Алекс Яо . Однак якщо ви хочете отримати вхідні дані з консолі, зверніться до наступного посилання

Введення консолі Java у Sublime Text 2?


0

Це моє, використовуючи піднесений текст 3. Мені потрібна була можливість відкрити командний рядок у новому вікні. Компіляція Java використовується з -Xlintможливістю увімкнення повних повідомлень для попереджень у Java.

Я зберег файл у папці мого користувацького пакета як Java (Build) .sublime-build

{
     "shell_cmd": "javac -Xlint \"${file}\"",
     "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
     "working_dir": "${file_path}",
     "selector": "source.java",
     "variants":
     [
          {
               "name": "Run",
                "shell_cmd": "java \"${file_base_name}\"",
          },
          {
               "name": "Run (External CMD Window)",
               "shell_cmd": "start cmd /k java \"${file_base_name}\""
          }
     ]
}

0

Система побудови JavaC працює як шарм, але виходить з ладу, коли ви хочете дати вхід від stdin у Sublime-text. Але ви можете відредагувати систему складання, щоб вона отримувала вхідні дані від користувача. Це модифікована збірка JavaC, яку я використовую на Ubuntu 18.04 LTS. Ви можете відредагувати систему збірки або створити нову систему збірки.

Створити нову систему побудови.

  • Перейдіть до Інструменти >> Система побудови >> Нова система побудови .
  • Скопіюйте Вставте нижченаведений код і Файл >> Зберегти .

    {

    "shell_cmd": "javac \"$file\"",
    "file_regex": "^(...*?):([0-9]*):?([0-9]*)",
    "selector": "source.java",
    "variants": 
    [
        {
            "shell_cmd":"bash -c \"javac $file\" && gnome-terminal -- bash -c \"java $file_base_name ;read\"", 
            "name": "Run"
        }
    
    ]    
    

    }

Відредагувати наявний файл збірки Java C.


0

Ось як я це зробив за допомогою цих простих кроків:

Налаштування нової системи складання:

  1. Інструменти> Система побудови> Нова система побудови

  2. Замініть код за замовчуванням таким:

    {
       "cmd": ["javac","$file_name","&&","java","$file_base_name"], 
       "path": "C:\\Program Files\\Java\\jdk1.7.0_25\\bin\\", 
       "shell": true
    }
    // locate the path of your jdk installation and replace it with 'path' 
    
  3. Збережіть файл, давши йому ім'я (я назвав "Java")

Активуйте систему складання:

  1. Інструменти> Збірка системи> Java (ім'я файлу, з яким ви його зберегли)
  2. Тепер запустіть програму за допомогою Ctrl + B
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.