поэтому я написал Java-программу, которая содержит некоторые внешние файлы .jar, такие как SimpleJSON и Selenium. Когда я компилирую эту программу в intelliJ, она создает только один файл .class моего файла .java.
Но если я скомпилирую мой .java через командную строку (javac example.java), он создаст примерно 300+ файлов .class, включая файл .class моего .java
Я просто любопытныйпочему это? Это нормальное поведение? Может кто-нибудь объяснить это мне?
, поэтому я ожидал, что компиляция с помощью javac создаст тот же результат, что и компиляция в моей IDE, но я думаю, это просто неправильное предположение
import org.json.simple.parser.JSONParser;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;
import java.io.FileReader;
import java.io.FileWriter;
import java.util.concurrent.TimeUnit;
import java.util.Scanner;
import org.json.simple.*;
import org.openqa.selenium.chrome.ChromeOptions;
public class SeleniumWikipedia
{
public static String searchTerm;
public static String JSONpath = internal
public static String JSONoutput =i nternal
public static String ceo;
public static void main(String[] args) throws Exception {
//readString();
readJSON();
ChromeDriver Chrom1 = getDriver();
Chrom1.get("https://de.wikipedia.org/wiki/Wikipedia:Hauptseite");
WebElement searchfield = Chrom1.findElement(By.id("searchInput"));
Chrom1.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
searchfield.sendKeys(searchTerm);
WebElement searchGo = Chrom1.findElement(By.id("searchButton"));
searchGo.click();
checkSuccess(Chrom1);
https://imgur.com/a/Igh8Tca
Структура файла:
└───Code
│ tree.txt
│
├───.vscode
│ settings.json
│
├───lib
│ auto-service-1.0-rc6-sources.jar
│ auto-service-1.0-rc6.jar
│ auto-service-annotations-1.0-rc6.jar
│ byte-buddy-1.8.15.jar
│ client-combined-3.141.59-sources.jar
│ client-combined-3.141.59.jar
│ commons-exec-1.3.jar
│ guava-25.0-jre.jar
│ json-simple-1.1.1.jar
│ okhttp-3.11.0.jar
│ okio-1.14.0.jar
│
├───NyxDevKit.PowerShellErrorHandling
│ Out-Null
│ PSErrorHandling.Tests.ps1
│ PSErrorHandlingScript.ps1
│
├───NyxDevKit.Selenium
│ │ NyxDevKit.Selenium.iml
│ │ Output.json
│ │
│ ├───.idea
│ │ compiler.xml
│ │ misc.xml
│ │ modules.xml
│ │ vcs.xml
│ │ workspace.xml
│ │
│ ├───Build
│ ├───ChromeDriver
│ │ chromedriver.exe
│ │
│ ├───out
│ │ └───production
│ │ └───NyxDevKit.Selenium
│ │ │ Output.json
│ │ │ SeleniumWikipedia.class
│ │ │
│ │ └───ChromeDriver
│ │ chromedriver.exe
│ │
│ └───src
│ SeleniumWikipedia.java
│
└───NyxDevKit.SeleniumSample
SeleniumParam.json
файл .class в папке out \ production создан intelliJ.
Я хочу скомпилировать файл SeleniumWikipedia.java, расположенный в src.
Что я делаю, чтобы получить более 300 файлов .class:
Я открываю PowerShell, попадаю в каталог, где находится SeleniumWikipedia. Ява файл находится (src), а затем я набираю «javac SeleniumWikipedia.java». Затем он занимает полминуты или около того и генерирует эти 300 файлов .class в папке src (поскольку я не определяю другой каталог), как показано на скриншоте
. Я также получаю это сообщение, отображаемое в PowerShell:
warning: Implicitly compiled files were not subject to annotation processing.
Use -proc:none to disable annotation processing or -implicit to specify a policy for implicit compilation.
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 warning