Надо узнать, что у библиотеки внутри
Можно распаковать архив zip-распаковщиком и посмотреть, какие классы есть в библиотеке.
Информацию о любом классе можно получить с помощью дизассемблера javap.
javap -c -classpath calculator.jar com.qwertovsky.calculator.Calculator
Compiled from "Calculator.java"
public class com.qwertovsky.calculator.Calculator extends java.lang.Object{
public com.qwertovsky.calculator.Calculator();
Code:
0: aload_0
1: invokespecial #1; //Method java/lang/Object."<init>":()V
4: return
public int sum(int[]);
Code:
0: new #2; //class com/qwertovsky/calculator/operation/Adder
3: dup
4: invokespecial #3; //Method com/qwertovsky/calculator/operation/Adder."<init>":()V
7: astore_2
8: aload_1
9: astore_3
10: aload_3
11: arraylength
12: istore 4
14: iconst_0
15: istore 5
17: iload 5
19: iload 4
21: if_icmpge 42
24: aload_3
25: iload 5
27: iaload
28: istore 6
30: aload_2
31: iload 6
33: invokevirtual #4; //Method com/qwertovsky/calculator/operation/Adder.add:(I)V
36: iinc 5, 1
39: goto 17
42: aload_2
43: invokevirtual #5; //Method com/qwertovsky/calculator/operation/Adder.getSum:()I
46: ireturn
}
Из результата видно, что класс содержит кроме пустого конструктора, ещё один метод sum, внутри которого в цикле вызывается метод add класса Adder. По завершении метода sum, вызывается Adder.getSum().
Без ключа -c программа выдаст только список переменных и методов (если использовать -private, то всех).
javap -private -classpath calculator.jar com.qwertovsky.calculator.operation.Adder
Compiled from "Adder.java"
public class com.qwertovsky.calculator.operation.Adder extends java.lang.Object{
private int sum;
public com.qwertovsky.calculator.operation.Adder();
public com.qwertovsky.calculator.operation.Adder(int);
public void add(int);
public int getSum();
}
Where JDK is installed?
The JDK also contains a JRE to run the Java program.
Terminal
$JAVA_HOME/bin/java <-- JDK
$JAVA_HOME/jre/bin/java <-- JRE
1.1 On Ubuntu or Linux, we can use which javac to find out where JDK is installed.
Terminal
$ which javac
/usr/bin/javac
$ ls -lsah /usr/bin/javac
/usr/bin/javac -> /etc/alternatives/javac
$ ls -lsah /etc/alternatives/javac
/etc/alternatives/javac -> /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/javac
$ cd /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/bin/
$ ./javac -version
javac 11.0.7
In the above example, the JDK is installed at /usr/lib/jvm/adoptopenjdk-11-hotspot-amd64/.
1.2 On Windows, we can use where javac to find out where JDK is installed.
Terminal
Adder.java
package com.qwertovsky.helloworld.operation;
public class Adder
{
private int sum;
public Adder()
{
sum=0;
}
public Adder(int a)
{
this.sum=a;
}
public void add(int b)
{
sum =b;
}
public int getSum()
{
return sum;
}
}
Компилируем
javac -d bin src/com/qwertovsky/helloworld/HelloWorld.java
srccomqwertovskyhelloworldHelloWorld.java:9: cannot find symbol
symbol : class Calculator
location: class com.qwertovsky.helloworld.HelloWorld
Calculator calc=new Calculator();
^
srccomqwertovskyhelloworldHelloWorld.java:9: cannot find symbol
symbol : class Calculator
location: class com.qwertovsky.helloworld.HelloWorld
Calculator calc=new Calculator();
^
2 errors
Ошибка возникла из-за того, что для компиляции нужны файлы с исходными кодами классов, которые используются (класс Calculator). Надо указать компилятору каталог с файлами с помощью ключа -sourcepath.
Компилируем
javac -sourcepath ./src -d bin src/com/qwertovsky/helloworld/HelloWorld.java
Запускаем
java -classpath ./bin com.qwertovsky.helloworld.HelloWorld
Hello Word
2 3=5
Calculator.java
package com.qwertovsky.helloworld;
import com.qwertovsky.helloworld.operation.Adder;
public class Calculator
{
public int sum(int... a)
{
Adder adder=new Adder();
for(int i:a)
{
adder.add(i);
}
return adder.getSum();
}
}
Helloworld.java
package com.qwertovsky.helloworld;
public class HelloWorld
{
public static void main(String[] args)
{
int a=2;
int b=3;
Calculator calc=new Calculator();
System.out.println("Hello World!");
System.out.println(a " " b "=" calc.sum(a,b));
}
}
How to execute a java .class from the command line
My situation was a little complicated. I had to do three steps since I was using a .dll in the resources directory, for JNI code. My files were
S:AccessibilitytoolssrcmainresourcesdllsHelloWorld.dll
S:AccessibilitytoolssrctestjavacomaccessibilityHelloWorld.class
My code contained the following line
System.load(HelloWorld.class.getResource("/dlls/HelloWorld.dll").getPath());
First, I had to move to the classpath directory
cd /D "S:Accessibilitytoolssrctestjava"
Next, I had to change the classpath to point to the current directory so that my class would be loaded and I had to change the classpath to point to he resources directory so my dll would be loaded.
set classpath=%classpath%;.;......srcmainresources;
Then, I had to run java using the classname.
java com.accessibility.HelloWorld
Powershell: получить версию java на удаленных компьютерах
Если вы хотите выполнить инвентаризацию версий Java, используемых на компьютерах или серверах в вашем домене, вы можете использовать следующий PowerShell скрипт. Данный скрипт может удаленно опросить сервера по списку указанному вручную, загрузить список из текстового файла.
Также вы можете получить список серверов или компьютеров из AD с помощью командлета Get-ADComputer из модуля RSAT-AD-PowerShell.# PowerShell скрипт для проверки верси Java SE (JRE) на удаленных компьютерах/серверах
# Проверить версию Java по списку компьютеров
# $computers = @(‘sever1,server2,server3’)
# Проверить версию Java по списоку серверов в текстовом файле
#$computers=Get-content C:PSServerList.txt
# Получить версию Java на всех серверах домена
$computers = ((get-adcomputer -Filter { enabled -eq «true» -and OperatingSystem -Like ‘*Windows Server*’ }).name).tostring()
Get-WmiObject -Class Win32_Product -ComputerName $computers -Filter «Name like ‘%Java%’ and not Name like ‘%Java Auto Updater%’» | Select __Server, Version
В результате у вас появится табличка со списком компьютеров/серверов и версией Java на них.
В моем случае при проверке версии Java на компьютерах я нашел 35 различных версий JRE!
Quick command or batch script to determine windows and office version
One possible way of obtaining the current Windows Version and Microsoft Office version is to query the system registry entries using command line.
To get the windows version using System registry , use the following command:
reg query "HKLMSoftwareMicrosoftWindows NTCurrentVersion" /v "ProductName"
This will give an output which can be parsed to get the current windows version/name.
To get the current office version , use:
reg query "HKEY_CLASSES_ROOTWord.ApplicationCurVer"
The output of this command gives the office version in number format such as 14, 15, etc.
Parse the output to get the version number and match against the list of existing Microsoft office versions to get the name of the version installed:
Office 97 - 7.0
Office 98 - 8.0
Office 2000 - 9.0
Office XP - 10.0
Office 2003 - 11.0
Office 2007 - 12.0
Office 2021 - 14.0
Office 2021 - 15.0
Office 2021 - 16.0
Hope this helps!!
Which java version check
It is much more complicated. JAVA_HOME might be set differently than the PATH, and which is worse, JRE installation likes copying JAVA.EXE to C:WindowsSystem32
folder, which JDK installation does not do. So you may end up with JAVAC.EXE and JAVA.EXE running from command line each from a different version. I guess that in the C:WindowsSystem32
folder you have those EXE files from the last launched JRE installation, but they are not necessarily those which will run if you just write JAVA.EXE.
So it is not enough knowing that you have the latest version installed, but you need to ensure that your application will be launched using the proper Java version. Some application have the JAva version in their configuration file, e.g. in Eclipse.ini.
Why does my jar file execute at cmd, but not on double-click?
So I’ve been writing a simple 3D GUI application that I intended for users to use simply by double-clicking on the JAR file. I got it working perfectly before putting it into the JAR file, and I got it working perfectly IN the JAR file while running from command prompt (typing “java -jar Modeler.jar” while in the directory of the jar file). However, when I double-click it, nothing happens. It runs perfectly fine with no errors from command prompt. I know from experience that crash reports on start-up are not shown because the console doesn’t appear (or it disappears too fast), but when running from the command prompt there are no crash reports. Any ideas as to why it won’t work? I’m running Windows 7 Home Premium. Here are the contents of the JAR file if it helps:
Modeler.jar
|
--*all the class files necessary*
|
--META-INF
|
--MANIFEST.MF
Contents of MANIFEST.MF:
Manifest-Version: 1.0
Built-By: AnonymousJohn
Class-Path: bin/j3dcore.jar bin/j3dutils.jar bin/vecmath.jar
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Main-Class: Start
EDIT: So after messing with the file associations to use java.exe instead of javaw.exe (thereby providing a window for print-outs), then modifying the startup mechanism a little to print out the current working directory, I discovered that the jar is running from “C:Windowssystem32” instead of the folder on my desktop I put it in. Go figure. However, moving the necessary outside files there doesn’t help anything.
EDIT 2: I tried making another JAR file, this time with a simple JFrame with a button in it that tells you the current working directory. Press the button and it opens a (useless) JFileChooser. This worked on double-click no matter where I put it in my computer. So there must be something wrong with my JAR file. I’ll start troubleshooting my program again.
EDIT 3: The problem is just what I thought it was: it’s not loading libraries correctly when I double click on it. The weird part is that in my tests where I display the current path and library path, the output is exactly the same whether I run it via command prompt or via double-clicking on it. Here’s the stack trace:
java.lang.UnsatisfiedLinkError: no j3dcore-d3d in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at javax.media.j3d.NativePipeline$1.run(NativePipeline.java:231)
at java.security.AccessController.doPrivileged(Native Method)
at javax.media.j3d.NativePipeline.loadLibrary(NativePipeline.java:200)
at javax.media.j3d.NativePipeline.loadLibraries(NativePipeline.java:157)
at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:987)
at javax.media.j3d.VirtualUniverse<clinit>(VirtualUniverse.java:299)
at javax.media.j3d.Canvas3D.<clinit>(Canvas3D.java:3881)
at ModelPreview.<init>(ModelPreview.java:51)
at Modeler.<init>(Modeler.java:76)
at Modeler.main(Modeler.java:1227)
at Start.main(Start.java:92)
Only problem is that it IS in the library path. I specifically set it in the program. Now that I think about it that may be the problem. I set it like so (this was a method I found somewhere on the internet. I don’t remember where):
//above was code to get newPath based on the Operating System.
//all this code is set in a try-catch phrase.
//reset the library path
System.setProperty("java.library.path", ".\bin\natives" newPath ";");
//make sure the ClassLoader rereads the NEW path.
Field f = ClassLoader.class.getDeclaredField("sys_paths");
f.setAccessible( true );
f.set(null, null); //ClassLoader will automatically reread the path when it sees that it is null.
EDIT FINAL: Well, after looking and relooking at my code, I discovered the problem was in some BS’ery involving the detection of 64-bit systems where it was loading the wrong dll’s. Why it worked from the command-line and not via double-click I don’t know and will probably never know, but it works via double-click now, so I’m happy. Sorry about the troubles.
Где находится java на пк
Чаще всего знать, где находится Java, требуется пользователям ОС Windows 10, 8, 7 и XP. На выбор предоставлено два варианта поиска.
Первый способ:
- Откройте меню «Пуск». Обладателям Windows 10 на этом шаге откроется список программ по алфавиту, в котором легко найти Джаву и развернуть меню.
- Для других версий ОС нажмите «Все программы».
- В появившемся списке найдете папку с приложением.
- Далее выбирайте иконку в зависимости от того, что нужно проверить.
Второй способ:
- Откройте меню «Пуск».
- Запустите «Панель управления».
- Найдите Джава.
- Откроется окно для управления утилитой.
Пользователям Mac OS, чтобы проверить Джава, стоит воспользоваться следующей инструкцией:
- Нажмите на значок Apple в углу экрана.
- Перейдите в «Системные настройки».
- Щелкните на значок Джавы.
Владельцам ПК с установленной ОС Linux требуется ввести в командную строку код readlink -f $(which java). Это поможет открыть директорию с утилитой.
Если в программе несколько файлов
Изменим программу.
Если удивляет результат
Есть возможность запустить отладчик. Для этого существует jdb.
Сначала компилируем с ключом -g, чтобы у отладчика была информация.
javac -g -sourcepath ./src -d bin src/com/qwertovsky/helloworld/HelloWorld.java
Запускаем отладчик
jdb -classpath bin -sourcepath src com.qwertovsky.helloworld.HelloWorld
Initializing jdb ...
>
Отладчик запускает свой внутренний терминал для ввода команд. Справку по последним можно вывести с помощью команды help.
Указываем точку прерывания на 9 строке в классе Calculator
> stop at com.qwertovsky.helloworld.Calculator:9
Deferring breakpoint com.qwertovsky.helloworld.Calculator:9.
It will be set after the class is loaded.
Запускаем на выполнение.
> run
run com.qwertovsky.helloworld.HelloWorld
Set uncaught java.lang.Throwable
Set deferred uncaught java.lang.Throwable
>
VM Started: Set deferred breakpoint com.qwertovsky.helloworld.Calculator:9
Hello World!
Breakpoint hit: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=9 bci=0
9 Adder adder=new Adder();
Чтобы соориентироваться можно вывести кусок исходного кода, где в данный момент находится курссор.
main[1] list
5 public class Calculator
6 {
7 public int sum(int... a)
8 {
9 => Adder adder=new Adder();
10 for(int i:a)
11 {
12 adder.add(i);
13 }
14 return adder.getSum();
Узнаем, что из себя представляет переменная а.
main[1] print a
a = instance of int[2] (id=340)
main[1] dump a
a = {
2, 3
}
main[1] stop at com.qwertovsky.helloworld.operation.Adder:19
Deferring breakpoint com.qwertovsky.helloworld.operation.Adder:19.
It will be set after the class is loaded.
Продолжим исполнение.
main[1] cont
> Set deferred breakpoint com.qwertovsky.helloworld.operation.Adder:19
Breakpoint hit: "thread=main", com.qwertovsky.helloworld.operation.Adder.add(), line=19 bci=0
19 sum =b;
main[1] list
15 }
16
17 public void add(int b)
18 {
19 => sum =b;
20 }
21
22 public int getSum()
23 {
24 return sum;
main[1] print sum
sum = 0
main[1] print b
b = 2
Выполним код в текущей строке и увидим, что sum стала равняться 2.
main[1] step
>
Step completed: "thread=main", com.qwertovsky.helloworld.operation.Adder.add(), line=20 bci=10
20 }
main[1] print sum
sum = 2
Поднимемся из класса Adder в вызвавший его класс Calculator.
main[1] step up
>
Step completed: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=10 bci=36
10 for(int i:a)
Удаляем точку прерывания
main[1] clear com.qwertovsky.helloworld.operation.Adder:19
Removed: breakpoint com.qwertovsky.helloworld.operation.Adder:19
main[1] step
>
Step completed: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=12 bci=30
12 adder.add(i);
Можно избежать захода в методы, используя команду next.
main[1] next
>
Step completed: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=10 bci=36
10 for(int i:a)
main[1] next
>
Step completed: "thread=main", com.qwertovsky.helloworld.Calculator.sum(), line=14 bci=42
14 return adder.getSum();
Проверяем значение выражения и завершаем выполнение.
main[1] eval adder.getSum()
adder.getSum() = 5
main[1] cont
> 2 3=5
The application exited
Ещё почитать
10.
11.
12.
13.
14.
15.
16.
Запуск исполняемого jar-файла
Файл calculator.jar исполняемым не является. А вот helloworld.jar можно запустить.
Если архив был создан первыми двумя способами, то рядом с ним в одном каталоге должна находится папка lib с файлом calculator.jar. Такие ограничения из-за того, что в манифесте в class-path указан путь относительно исполняемого файла.
cd Calculator
ls ../HelloWorld/lib
calculator.jar
java -jar ../HelloWorld/helloworld.jar
При использовании третьего способа нужные библиотеки включаются в исполняемый файл. Держать рядом нужные библиотеки не требуется. Запускается аналогично.
java -jar ../HelloWorld/helloworld.jar
Использование библиотеки
Есть программа HelloWorld, которая использует библиотечный класс Calculator. Чтобы скомпилировать и запустить программу, нужно присоединить библиотеку.
Компилируем
cd HelloWorld
javac -sourcepath src -d bin -classpath path/to/calculator.jar src/com/qwertovsky/helloworld/HelloWorld.java
Запускаем
java -classpath bin:path/to/calculator.jar com.qwertovsky.helloworld.HelloWorld
Используем пакеты
А то, вдруг, программа перестанет быть просто HelloWorld-ом. Пакетам лучше давать понятное и уникальное имя. Это позволит добавить данную программу в другой проект без конфликта имен. Прочитав некоторые статьи, можно подумать, что для имени пакета обязательно нужен домен. Это не так.
Домены — это удобный способ добиться уникальности. Если своего домена нет, воспользуйтесь аккаунтом на сайте (например, ru.habrahabr.mylogin). Он будет уникальным. Учтите, что имена пакетов должны быть в нижнем регистре. И избегайте использования спецсимволов. Проблемы возникают из-за разных платформ и файловых систем.
Поместим наш класс в пакет с именем com.qwertovsky.helloworld. Для этого добавим в начало файла строчку
package com.qwertovsky.helloworld;
В каталоге src создадим дополнительные каталоги, чтобы путь к файлу выглядел так: src/com/qwertovsky/helloworld/HelloWorld.java.
Компилируем
javac -d bin src/com/qwertovsky/helloworld/HelloWorld.java
В каталоге bin автоматически создастся структура каталогов как и в src.
HelloWorld
'---bin
' '---com
' '---qwertovsky
' '---helloworld
' '---HelloWorld.class
'---src
'---com
'---qwertovsky
'---helloworld
'---HelloWorld.java
Запускаем
java -classpath ./bin com.qwertovsky.helloworld.HelloWorld
Как быть с приложениями javaee
Аналогично. Только библиотеки для компиляции нужно брать у сервера приложений, который используется. Если я использую JBoss, то для компиляции сервлета мне нужно будет выполнить примерно следующее
javac -classpath path/to/jboss/common/lib/jboss-servlet*.jar -d ./classes src/com/qwertovsky/app/servlets/MenuSt.java
Структура архива JavaEE-приложения должна соответствовать определенному формату. Например
my.ear
`---META-INF
| `---manifest.mf
`---lib
| `---mylib.jar
`---my.war
| `---META-INF
| | `---manifest.mf
| `---WEB-INF
| | `---lib
| | | `---myweblib.jar
| | `---classes
| | | `---com
| | | `---...
| | `---web.xml
| `---index.html
| `---<остальное веб-содержимое (страницы, изображения)>
`---myejb.jar
Способы запуска приложения на самом сервере с помощью командной строки для каждого сервера различны.
Надеюсь, данная статья станет для кого-нибудь шпаргалкой для работы с Java в командной строке. Данные навыки помогут понять содержание и смысл Ant-скриптов и ответить на собеседовании на более каверзные вопросы, чем «Какая IDE Вам больше нравится?».
Как определить версию java
wikiHow работает по принципу вики, а это значит, что многие наши статьи написаны несколькими авторами. При создании этой статьи над ее редактированием и улучшением работали, в том числе анонимно, 12 человек(а).
Количество просмотров этой статьи: 75 263.
Как проверить версию java онлайн
Это можно сделать через официальный сайт разработчиков. Для этого кликните по кнопке ниже или выполните инструкцию:
- На главной странице платформы найдите длинную гиперссылку, как на скриншоте.
- Нажмите кнопку для проверки.
- Итогом станет сообщение, содержащее строку с пометкой «Java version».
Если проверять онлайн, сайт сравнит новую программу с установленной и предложит загрузить обновление Джава на компьютер. Поэтому такой способ рациональнее, чем через «Панель управления».
Как узнать версию java из powershell?
Вы можете узнать версию Java на вашем компьютере с помощью PowerShell. Можно просто проверить версию исполняемого файла java.exe (путь к ней прописывается в переменные окружения при установке JRE SE на вашем компьютере). Выведем версию java файла:
Get-Command Java | Select-Object Version
Можно вывести подробную информацию о версии, обновлении и релизе Java:
Get-Command java | Select-Object -ExpandProperty Version
Major Minor Build Revision ----- ----- ----- -------- 8 0 2310 11
Если вам нужно получить строковое значение версии Java для использования в скриптах, используйте:
(Get-Command java | Select-Object -ExpandProperty Version).tostring()
Также вы можете узнать версию Java через WMI класс, который содержит список установленных программ в Windows:
Get-WmiObject -Class Win32_Product -Filter “Name like ‘%Java%'”
IdentifyingNumber : {26A24AE4-039D-4CA4-87B4-2F32180231F0} Name : Java 8 Update 231 Vendor : Oracle Corporation Version : 8.0.2310.11 Caption : Java 8 Update 231 IdentifyingNumber : {4A03706F-666A-4037-7777-5F2748764D10} Name : Java Auto Updater Vendor : Oracle Corporation Version : 2.8.231.11 Caption : Java Auto Updater
Полученные ID можно использовать в дальнейшем для корректного удаления JRE.
Если нужно вывести только версии Java, и нужно исключить Java Auto Updater, используйте команду:
Get-WmiObject -Class Win32_Product -Filter “Name like ‘%Java%’ and not Name like ‘%Java Auto Updater%'” | Select -Expand Version
Как узнать версию java на компьютере
Проверить номер Джавы необходимо, когда стороннее приложение рекомендует использовать последнюю версию утилиты. Чтобы узнать, какая версия Java установлена, обратимся к инструкциям для интегрированных ОС.
Краткая информация google chrome
Описание: Google Chrome — наиболее быстро развивающийся браузер, во многом, благодаря открытому исходному коду Chromium, благодаря которому оперативно выпускает новые версии и при этом, быстро ликвидирует все имеющиеся уязвимости. Обозреватель имеет простой минималистичный дизайн, что облегчает интернет-серфинг, так как ничто не отвлекает пользователя от содержимого веб-страницы. Вкладки браузера являются изолированными, что одновременно с повышением надёжности работы браузера, делает посещение сайтов более безопасным. Chrome имеет встроенный движок JavaScript, значительно ускоряющий обработку скриптов и увеличивающий скорость работы в Интернете.
Разработчик: Google
Поддерживаемые форматы: HTML,HTM,SHTML,XHTML,TXT,TEXT,JPE,JPG,JPEG,GIF,MHTML,PNG,BMP,ICO,SVG,SVGZ,XML,PDF,SWF
Оф. сайт: google.com
Платный аналог: e-Capsule Browser
Русский язык: Имеется
Статус: Freeware
Исходники: Закрыты
Особенности:
— Единственное окно для решения большинства задач.
— Ярлыки приложений и динамические вкладки.
— Возможность безопасного просмотра сомнительных сайтов, а также наличие режима “инкогнито”.
— Лёгкий процесс создания закладок, а также возможность их импорта из других браузеров.
— Высокая скорость работы и надёжность.
— Полностью автоматический процесс обновления.
Лучше снабдить библиотеку документацией
Изменим для этого класс калькулятора.
package com.qwertovsky.calculator;
import com.qwertovsky.calculator.operation.Adder;
/**
* Калькулятор, который умеет складывать
* @author Qwertovsky
*
*/
public class Calculator
{
/**
* Определение суммы слагаемых
* @param a массив слагаемых
* @return сумма
*/
public int sum(int... a)
{
Adder adder=new Adder();
for(int i:a)
{
adder.add(i);
}
return adder.getSum();
}
}
Документацию можно создать следующей командой. При ошибке программа выдаст список возможных опций.
mkdir doc
javadoc -d doc -charset utf-8 -sourcepath src -author -subpackages com.qwertovsky.calculator
В результате получиться следующее
Можно подписать jar-архив
Если требуется подписать свою библиотеку цифровой подписью, на помощь придут keytool и jarsigner.
Генерируем подпись.
keytool -genkey -keyalg rsa -keysize 2048 -alias qwertokey -keystore path/to/qwerto.keystore
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: Valery Qwertovsky
What is the name of your organizational unit?
[Unknown]: Qwertovsky
What is the name of your organization?
[Unknown]: Qwertovsky
What is the name of your City or Locality?
[Unknown]: Tver
What is the name of your State or Province?
[Unknown]: Tverskaya obl.
What is the two-letter country code for this unit?
[Unknown]: RU
Is CN=Valery Qwertovsky, OU=Qwertovsky, O=Qwertovsky, L=Tver, ST=Tverskaya obl., C=RU correct?
[no]: y
Enter key password for <qwertokey>
(RETURN if same as keystore password):
Re-enter new password:
Генерируем Certificate Signing Request (CSR)
keytool -certreq -file path/to/qwertokey.crt -alias qwertokey -keystore path/to/qwerto.keystore
Содержимое полученного файла отправляем в центр сертификации. От центра сертификации получаем сертификат. Сохраняем его в файле (например, qwertokey.cer) и импортируем в хранилище
keytool -import -trustcacerts -keystore path/to/qwert.keystore -alias qwertokey -file path/to/qwertokey.cer
Подписываем jar-архив
jarsigner -keystore path/to/qwerto.keystore calculator.jar qwertokey
Файл qwertokey.cer отправляем всем, кто хочет проверить архив. Проверяется он так
jarsigner -verify -verbose -certs -keystore path/to/qwerto.keystore calculator.jar
Один файл
Можно сделать и без лишних папок.
Берем сам файл HelloWorld.java.
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
Переходим в каталог, где лежит данный файл, и выполняем команды.
javac HelloWorld.java
В данной папке появится файл HelloWorld.class. Значит программа скомпилирована. Чтобы запустить
java -classpath . HelloWorld
От простого к …
Каждая программа обычно содержится в отдельном каталоге. Я придерживаюсь правила создавать в этом каталоге по крайней мере две папки: src и bin. В первой содержатся исходные коды, во второй — результат компиляции. В данных папках будет структура каталогов, зависящая от пакетов.
Отделяем бинарные файлы от исходников
Теперь сделаем тоже самое, но с каталогами. Создадим каталог HelloWorld и в нем две папки src и bin.
Компилируем
javac -d bin src/HelloWorld.java
Здесь мы указали, что бинарные файлы будут сохраняться в отдельную папку bin и не путаться с исходниками.
Запускаем
java -classpath ./bin HelloWorld
Полная информация google chrome
Описание: Google Chrome — наиболее быстро развивающийся браузер, во многом, благодаря открытому исходному коду Chromium, благодаря которому оперативно выпускает новые версии и при этом, быстро ликвидирует все имеющиеся уязвимости. Обозреватель имеет простой минималистичный дизайн, что облегчает интернет-серфинг, так как ничто не отвлекает пользователя от содержимого веб-страницы. Вкладки браузера являются изолированными, что одновременно с повышением надёжности работы браузера, делает посещение сайтов более безопасным. Chrome имеет встроенный движок JavaScript, значительно ускоряющий обработку скриптов и увеличивающий скорость работы в Интернете.
Разработчик: Google
Поддерживаемые форматы: HTML,HTM,SHTML,XHTML,TXT,TEXT,JPE,JPG,JPEG,GIF,MHTML,PNG,BMP,ICO,SVG,SVGZ,XML,PDF,SWF
Оф. сайт: google.com
Платный аналог: e-Capsule Browser
Русский язык: Имеется
Статус: Freeware
Исходники: Закрыты
Особенности:
— Единственное окно для решения большинства задач.
— Ярлыки приложений и динамические вкладки.
— Возможность безопасного просмотра сомнительных сайтов, а также наличие режима “инкогнито”.
— Лёгкий процесс создания закладок, а также возможность их импорта из других браузеров.
— Высокая скорость работы и надёжность.
— Полностью автоматический процесс обновления.
Системные требование:
Процессор: 2200 MHz
ОЗУ: 512 Мб
Жесткий диск: 100 Мб
Аудиокарта: Любая совместимая аудиокарта
Видеокарта: 64 Мб
Архитектура: x86 или x64
Система: Windows XP, Windows Vista, Windows 7, Windows 8
Индекс полезности:
Скорость: 100
Практичность: 100
Надежность: 100
Функциональность: 100
Информация о файле:
Тихая установка: /install
Варианты дистрибутива: Только установочная
Инсталлятор: Без тулбаров
Сертификат: Имеется
Конкуренты:
360-browser
safari
avant-browser
baidu-spark
blackhawk-browser
browzar
chrome-hybrid
chromium
cometbird-browser
comodo-dragon
comodo-icedragon
coolnovo
coowon
cyberfox
dooble
epic-browser
firefox
firefox-hybrid
greenbrowser
internet-explorer
k-meleon
lunascape-browser
maxthon-browser
opera
opera-hybrid
opera-unofficial
orbitum
orca-browser
pale-moon
qip-surf
qupzilla
seamonkey
sleipnir
slimbrowser
slimjet
srware-iron
superbird
theworld-browser
tor-browser-bundle
torch-browser
waterfox
wyzo
yandex-browser
Проверка java в браузере
Чтобы проверить, включена ли Java в браузере, зайдите в его настройки. В разных обозревателях путь к Джаве отличается:
- Internet Explorer: «Сервис» – «Параметры обозревателя» – «Безопасность» – «Другой». Найти пункт о сценариях Джавы и выбрать «Включить».
- Mozilla Firefox: «Сервис» – «Дополнения» – «Плагины» – «Java». Остается убедиться, что модуль включен или стоит флажок на строке «Активировать всегда».
- Safari: «Параметры» – «Безопасность» – «Allow Plug-ins» – «Manage Website Settings». Выберите «Разрешить» в выпадающем списке на элементе Джава.
Для Chrome недоступно использование NPAPI, что исключает Джава из работы браузера. В Opera также не используется утилита.
Проверка на linux
Пользователям Linux можно проверить версию утилиты тем же способом, что и владельцам компьютеров Apple. В командную строку вписывается java –version.
Если номер модификации ниже, чем 1.6, то не обойтись без дополнительной установки вспомогательного ПО через YaST.
Проверка на mac
Для проверки версии программы Java на технике от Apple скачивается среда разработки JDK. Утилита активирует командную строку, в которой ведется работа.
Чтобы ответить на вопрос, как узнать версию ПО, достаточно проверить номер JDK. Для этого в командной строке вводится код java –version. Полученный ответ предоставляется в таком формате: «1.7.0_55».
Проверка на windows
Узнать версию Java на компьютере с установленной ОС Windows можно двумя способами. Первый вариант проверить утилиту:
- Зайдите в панель управления Джавы по инструкции, изложенной выше.
- В первой вкладке выберите пункт About.
- В появившемся окне можно проверить номер приложения.
Быстрый способ: ввести код java –version в командную строку, которая вызывается нажатием комбинации горячих клавиш Win R.
Второй вариант, как проверить Java на Windows 7, 8, 10:
- Зайдите в меню «Пуск».
- В поисковой строке наберите: «Установка и удаление программ».
- Сделайте одиночный клик по предложенному варианту с точным совпадением названия.
- Найдите Джава, чтобы проверить версию ПО.
Прочие материалы по работе с командной строкой windows:
Настройка командной строки
Windows. – Как изменить цвет фона, цвет символов, размер и расположение окна командной строки. Копирование и вставка текста в окне консоли.
Как настроить дополнение имен файлов и каталогов при наборе в командной строке. Использование функциональных клавиш.
Работа с командной строкой Windows – Основные приемы, используемые при работе в командной строке Windows.
Командные файлы Windows – Общие принципы применения переменных среды в командных файлах. Обработка параметров командной строки. Использование меток, переходов и циклическая обработка данных. Практические примеры решения задач администрирования системы.
Запуск приложений от имени администратора без запроса UAC – Как запустить из командного файла приложение или командный файл без запроса системы контроля учетных записей UAC
Работа с сетью в командной строке.
– подробное описание команд CMD Windows для работы с сетью и примеры их использования.
Подсистема Linux в Windows 10 – Использование командной строки Linux в Windows 10.
Приглашаем на спектакль «Миры Марины» по произведениям М.Цветаевой, А.Блока , Б. Пастернака.26 марта в 19.00Библиотека им.А.С.ПушкинаУл.Спартаковская д 9. ( метро «Бауманская»)
Купить билет
В начало страницы |
На главную страницу сайта
Скрипт powershell для удаления всех версий java
Почему вам может понадобится удалять предыдущие версии Java в Windows?
Следующий PowerShell скрипт можно использовать для удаление всех установленных версий Java на компьютере
$jre_installed = Get-WmiObject -Class Win32_Product -Filter “Name like ‘%Java%'”$jre_installed.Uninstall()
Однако рассмотренная выше команда удаления основана на WMI и не смотря на свою простоту, работает довольно медленно.
Вместо этого можно получить список установленных Java из реестра и удалить все найденные версии Java по GUID продукта, который генерируется при установке ПО через MSI.
#PowerShell скрипт для удаления всех версий Java SE (JRE) на компьютере
$uninstall32 = gci "HKLM:SOFTWAREWow6432NodeMicrosoftWindowsCurrentVersionUninstall" | foreach { gp $_.PSPath } | ? { $_ -like "*Java*" } | select UninstallString
$uninstall64 = gci "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstall" | foreach { gp $_.PSPath } | ? { $_ -like "*Java*" } | select UninstallString
# Удаление 64 битных версий Java
if ($uninstall64) {
$uninstall64 = $uninstall64.UninstallString -Replace "msiexec.exe", "" -Replace "/I", "" -Replace "/X", ""
$uninstall64 = $uninstall64.Trim()
Write "Uninstalling..."
start-process "msiexec.exe" -arg "/X $uninstall64 /qb" -Wait
}
# Удаление 32 битных версий Java
if ($uninstall32) {
$uninstall32 = $uninstall32.UninstallString -Replace "msiexec.exe","" -Replace "/I","" -Replace "/X",""
$uninstall32 = $uninstall32.Trim()
Write "Uninstalling all Java SE versions..."
start-process "msiexec.exe" -arg "/X $uninstall32 /qb" -Wait
}
Собираем программу
Это можно сделать по-разному.
Создадим библиотеку
Класс Calculator оказался полезным и может быть использован во многих проектах. Перенесем всё, что касается класса Calculator в отдельный проект.
HelloWorld
'---bin
'---src
'---com
'---qwertovsky
'---helloworld
'---HelloWorld.java
Сalculator
'---bin
'---src
' '---com
' '---qwertovsky
' '---calculator
' '---Calculator.java
' '---operation
' '---Adder.java
'---test
'---com
'---qwertovsky
'---calculator
'---TestCalculator.java
Измените также назавания пакетов в исходных текстах. В HelloWorld.java нужно будет добавить строку
import com.qwertovsky.calculator.Calculator;
Компилируем.
cd Calculator
javac -sourcepath src -d bin src/com/qwertovsky/calculator/Calculator.java
Делаем архив jar
jar cvf calculator.jar -C bin .
added manifest
adding: com/(in = 0) (out= 0)(stored 0%)
adding: com/qwertovsky/(in = 0) (out= 0)(stored 0%)
adding: com/qwertovsky/calculator/(in = 0) (out= 0)(stored 0%)
adding: com/qwertovsky/calculator/Calculator.class(in = 497) (out= 373)(deflated 24%)
adding: com/qwertovsky/calculator/operation/(in = 0) (out= 0)(stored 0%)
adding: com/qwertovsky/calculator/operation/Adder.class(in = 441) (out= 299)(deflated 32%)
С помощью ключа -C мы запустили программу в каталоге bin.
Справочник по командам cmd windows
Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования.
В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.
На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.
Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.
APPEND – позволяет программам открывать файлы данных из указанных
папок так, как будто они находятся в текущей папке.
ARP – просмотр и изменение таблиц ARP (Address Resolution Protocol)
ASSOC – просмотр или изменение сопоставлений расширений файлов приложениям
AT – управление планировщиком задач
ATTRIB – изменение атрибутов файлов
Auditpol – управление политиками аудита.
BASH – командная оболочка BASH в подсистеме Windows для Linux (WSL).
BCDBOOT – копирование в системный раздел файлов загрузки и создание
нового хранилища конфигурации загрузки (BCD)
BCDEDIT – редактирование хранилища данных конфигурации загрузки (BCD)
BOOTCFG – редактирование параметров загрузки в файле boot.ini
BOOTIM – вызов меню загрузки и восстановления (Выбор действия) Windows 10
BOOTREC – восстановление загрузочных записей и конфигурации загрузки Windows
BOOTSECT – редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR
BREAK – включить или выключить обработку комбинации клавиш CTRL C в DOS
CACLS – редактирование списков управления доступом к файлам (ACL – Access Control List)
CALL – вызов из командного файла подпрограмм или других командных файлов
CD – смена каталога (Change Directory)
Третий способ
cd HelloWorld
mkdir lib
cd lib
jar -xvf path/to/calculator.jar com/
created: com/
created: com/qwertovsky/
created: com/qwertovsky/calculator/
inflated: com/qwertovsky/calculator/Calculator.class
created: com/qwertovsky/calculator/operation/
inflated: com/qwertovsky/calculator/operation/Adder.class
cd ..
cp -r bin/* lib/
jar -cef com.qwertovsky.helloworld.HelloWorld helloworld.jar -C lib .
rm -r lib
Включили код нужной библиотеки в исполняемый файл.
Хорошо бы протестировать
Используем JUnit.