티스토리 뷰

System.setProperty("PLAYWIGHT_BROWSER_PATH","C:\\AAA\\chrome-win");

하.. 힘들다. 자바 이클립스 playwright offline 에서 설치하는 방법을 많은 시행착오를 거친 끝에 공유해보겠다.

일단 인터넷 되는 환경에서는 잘 된다. 아주 편하게.. 그러나.. offline으로 오면 장난아니다..

일단 인터넷 되는 환경에서는 이클립스에서 먼저 maven 프로젝트를 만드는 것은 어렵지 않다.

하지만 offline 환경에서는 메이븐 프로젝트를 만드는 순간 에러가 발생할 것이다.

그래서 구글링을 해보니 메이븐을 먼저 설치를 해야 되더라.

https://blog.naver.com/lbr71004/222265471102

 

이클립스_Maven(메이빈) 환경설정

# Maven Apache Maven은 자바용 프로젝트 관리도구입니다. Ant의 대안으로 만들어졌으며 오픈 소스 소...

blog.naver.com

이 블로그가 많이 도움이 되었다.

Maven

Apache Maven은 자바용 프로젝트 관리도구입니다. Ant의 대안으로 만들어졌으며 오픈 소스 소프트웨어입니다. 라이브러리를 특정 문서(pom.xml)에 정의해 놓으면 네트워크를 통해 라이브러리를 자동으로 다운받아 관리합니다.

- 라이브러리의 관리를 용이하게 해줍니다.

- 프로젝트의 작성부터 컴파일, 프로젝트 라이프사이클에 포함하는 각 테스트를 지원합니다.

- war 파일 기반의 배포용으로 자주 사용됩니다.

//! 한번 환경설정을 해주면 이클립스를 변경하지 않는한(컴퓨터 변경 또는 새로 다운로드 하지 않는한), 매 프로젝트 진행때마다 설정해 줄 필요는 없다.

Maven 다운로드

위 파일을 다운 받았다.

https://blog.naver.com/lbr71004/222265471102

 

이클립스_Maven(메이빈) 환경설정

# Maven Apache Maven은 자바용 프로젝트 관리도구입니다. Ant의 대안으로 만들어졌으며 오픈 소스 소...

blog.naver.com

환경설정은 또 다른 글에 있구만..

위 블로그가 쉽게 잘 나와있다. 따라 가기만 하면 잘 되었다.

1. 다운받은 apache-maven-3.6.3-bin.zip를 압축을 풀고 작업폴더 내에 저장합니다.

2. 환경변수 등록을 작업폴더 \apache-maven-3.6.3-bin\bin

예)C:\AAA\Jsp\apache-maven-3.6.3-bin\bin (* 내가 사용하는 폴더의 경로이다)

# - 내pc > 속성 > 고급 시스템 설정 > 환경변수 > 시스템 변수의 path > 편집 > 새로만들기

새로만들기 클릭 후 환경변수 등록 작업폴더경로를 입력한다.
 
 
3. cmd를 관리자 권한으로 열고 mvn -version을 확인하여 정상적으로 path가 등록되었는지 확인합니다.
 
4. 이클립스 -> window -> preferences -> 왼쪽 메뉴 maven - installations를 선택 -> add 버튼 클릭 -> installation home에 메이븐 폴더 위치를 찾아 finish를 클릭 -> 추가된 maven 을 체크하고 apply를 클릭
 

5. 이클립스 -> window -> preferences -> 왼쪽 메뉴 maven - user settings를 선택 -> user settings의 찾아보기를 클릭 -> C:\AAA\Jsp\apache-maven-3.6.3-bin\confsettings.xml 를 선택하고 open file을 클릭

6. <localRepository> 요소를 찾아 주석을 제거하고 신규로 생성한 폴더의 위치로 입력을 합니다.

예) <localRepository>C:\AAA\Jsp\apache-maven-3.6.3-bin\apache-maven-3.6.3\repository</localRepository>

이렇게 되어 있긴 했지만 사실 바로 위에 <localRepository> 부분은 하지 않았다.
 
 
인터넷 환경에서 maven update를 하면 .m2 같은데 repository에 파일들이 다운로드 될 것이다. 그 파일들은 가져와서 저 경로에 덮어씌워 준다.
 
크롬 드라이버도 다운로드 받아서 C:\AAA 에 위치시켜준다. 그러면 C:\\AAA\chrome-wind 이렇게 될것이다.
 

✅ 1. Playwright Chromium 다운로드 방지

🔧 방법: 환경변수 설정

PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=true 를 설정합니다.

Eclipse에서 설정 방법:

  1. Run → Run Configurations… 클릭
  2. 왼쪽에서 Java Application 선택 → 실행 대상 클래스 선택
  3. 탭에서 Environment 선택 → New... 클릭
    • Name: PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD
    • Value: true
  4. Apply → Run
 
 
이렇게 하고 샘플 playwright 파일을 실행해보면
 
package com.play.ptest;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

public class App 
{
	public static void main(String[] args) {
		try (Playwright playwright = Playwright.create()) {
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setHeadless(false));
            Page page = browser.newPage();
            page.navigate("https://naver.com");
            System.out.println("제목: " + page.title());
        }
	}
}

에러가 발생할 것이다. 다운로드를 받는 중.. 머 이런 에러.. offline은 다운이 안되니..

그래서

package com.play.ptest;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

public class App 
{
	public static void main(String[] args) {
		try (Playwright playwright = Playwright.create()) {
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setExecutablePath(Paths.get("C:\\AAA\\chrome-win\\chrome.exe")).setHeadless(false));
            Page page = browser.newPage();
            page.navigate("https://naver.com");
            System.out.println("제목: " + page.title());
        }
	}
}

에러가 나서 chatgtp 한테 물어봤는데 setExecutablePath("C:\\AAA") 이렇게 넣으라고 했는데 그래도 에러가 났다.

Paths.get 해줬더니 에러가 안났다.

참 놓친게 있는데 상단에 아래 코드를 써야 한다.

System.setProperty("PLAYWRIGHT_BROWSER_PATH","C:\\AAA\\chrome-win");

즉, 결론은

package com.play.ptest;

import com.microsoft.playwright.Browser;
import com.microsoft.playwright.BrowserType;
import com.microsoft.playwright.Page;
import com.microsoft.playwright.Playwright;

public class App 
{
	public static void main(String[] args) {
    
   		System.setProperty("PLAYWRIGHT_BROWSER_PATH","C:\\AAA\\chrome-win");
    
		try (Playwright playwright = Playwright.create()) {
            Browser browser = playwright.chromium().launch(new BrowserType.LaunchOptions().setExecutablePath(Paths.get("C:\\AAA\\chrome-win\\chrome.exe")).setHeadless(false));
            Page page = browser.newPage();
            page.navigate("https://naver.com");
            System.out.println("제목: " + page.title());
        }
	}
}

지금보니까 System.setProperty 부분은 없어도 된다.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.example</groupId>
  <artifactId>playwright-test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  
  
  <dependencies>
    <!-- Playwright Java 라이브러리 -->
    <dependency>
      <groupId>com.microsoft.playwright</groupId>
      <artifactId>playwright</artifactId>
      <version>1.45.0</version> <!-- 버전 확인 필요 -->
    </dependency>
  </dependencies>
  
  
  <build>
    <plugins>
      <!-- Java 17 이상을 사용한다면 아래처럼 설정 -->
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.11.0</version>
        <configuration>
          <source>16</source>
          <target>16</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  
</project>

pom.xml

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함