{"id":44778795,"url":"https://github.com/perforce/p4java","last_synced_at":"2026-02-16T07:18:10.493Z","repository":{"id":48009623,"uuid":"293781172","full_name":"perforce/p4java","owner":"perforce","description":"[Officially Supported] P4Java a native API for Perforce SCM","archived":false,"fork":false,"pushed_at":"2024-02-14T15:34:11.000Z","size":1118,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-02-14T16:38:04.998Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/perforce.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-09-08T10:48:49.000Z","updated_at":"2024-07-15T10:20:40.740Z","dependencies_parsed_at":"2024-02-14T16:50:23.698Z","dependency_job_id":null,"html_url":"https://github.com/perforce/p4java","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/perforce/p4java","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perforce%2Fp4java","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perforce%2Fp4java/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perforce%2Fp4java/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perforce%2Fp4java/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/perforce","download_url":"https://codeload.github.com/perforce/p4java/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/perforce%2Fp4java/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29502934,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T05:57:17.024Z","status":"ssl_error","status_checked_at":"2026-02-16T05:56:49.929Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-02-16T07:18:07.106Z","updated_at":"2026-02-16T07:18:10.488Z","avatar_url":"https://github.com/perforce.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Support](https://img.shields.io/badge/Support-Official-green.svg)](mailto:support@perforce.com)\n\n# P4Java\n\nP4Java is officially supported by Perforce.  Pull requests will be managed by Perforce's engineering teams.  We will do our best to acknowledge these in a timely manner based on available capacity.  Issues will not be managed on GitHub.  All issues should be recorded via Perforce's standard support process (https://www.perforce.com/support/request-support). \n\n## Overview\nP4Java is a Java-native API for accessing Perforce SCM services from within Java applications, servlets, plugins, and other Java contexts.  \n\n## Requirements\n* Perforce server at Release 2015.1 or higher.\n* Java: full standard JDK 1.8 or later.  Implementation as discussed in \"Known Limitations\" below.\n* SSL: unlimited strength JCE (Java Cryptography Extension) package for 256-bit encryption level SSL connection to a secure Perforce server.\n\n### SSL and Trust\n\nPerforce server 2015.1 or higher supports 256-bit SSL connections and trust establishment via accepting the fingerprint of the SSL certificate's public key. The standard JDK comes with 128-bit encryption level ciphers. In order to use P4Java to connect to a secure Perforce server, you must download and install the unlimited strength JCE package for your JDK version.\n\nTo make a secure connection using P4Java, simply append 'ssl' to the end of the P4Java protocol (i.e. 'p4javassl://perforce:1667').  For new a connection or a key change, you must also (re)establish trust using the IOptionsServer's 'addTrust' method.  See example code snippet below:\n\n    // Create a P4Java SSL connection to a secure Perforce server\n    try {\n        String serverUri = \"p4javassl://perforce:1667\";\n        Properties props = null;\n        IOptionsServer server = ServerFactory.getOptionsServer(serverUri, props);\n        // assume a new first time connection\n        // you should also handle a key change situation...\n        server.addTrust(new TrustOptions().setAutoAccept(true));\n        // if all goes well...\n        IServerInfo serverInfo = server.getServerInfo();\n    } catch (P4JavaException e) {\n        // process P4Java exception\n    } catch (Exception e) {\n        // process other exception\n    }\n\nP4Java 2020.1 has changed the default TLS support to TLSv1.2 for use with Perforce server 2019.1 or greater this can be modified using the JVM option:\n\n    java -DsecureSocketEnabledProtocols=TLSv1.2 \n\n## Documentation\nFor more information please refer to the Helix Core P4Java Developer Guide https://www.perforce.com/manuals/p4java/Content/P4Java/Home-p4java.html\n\n## Support\nThis project is maintained by Perforce Engineering and fully supported.  Pull requests will be managed by Perforce's engineering teams.  We will do our best to acknowledge these in a timely manner based on available capacity.  Issues will not be managed on GitHub.  All issues should be recorded via Perforce's standard support process (https://www.perforce.com/support/request-support). \n\n## Usage\nThe example snippets in this project require P4Java (2019.1 or later) available from Maven Central (`https://repo1.maven.org/maven2/`).  Use one of the following tools to add the dependancy.\n\n### Maven\n    \u003cdependency\u003e\n        \u003cgroupId\u003ecom.perforce\u003c/groupId\u003e\n        \u003cartifactId\u003ep4java\u003c/artifactId\u003e\n        \u003cversion\u003e2019.1.1939255\u003c/version\u003e\n    \u003c/dependency\u003e\n\n### Gradle\n    compile group: 'com.perforce', name: 'p4java', version: '2019.1.1939255'\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperforce%2Fp4java","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fperforce%2Fp4java","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fperforce%2Fp4java/lists"}