Here I attached two scripts that might help you working with jar files.

Have you tried to verify that a Class must exists in a lib directory that has few dozens jar files? For example I read from a forum that there is a ServerInfo.properties inside one of tomcat jar, so I run this:
$ scala searchjar.scala ServerInfo /opt/tomcat6/lib
/opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.class
/opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.properties
The script can walk over one or more directory and search all jar files for you.

The second thing I do once a while is I want to see the content of a text inside the jar. For the example above, I can run my second script like this:
$ scala displayjar.scala /opt/tomcat6/lib/catalina.jar org/apache/catalina/util/ServerInfo.properties
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

server.info=Apache Tomcat/6.0.18
server.number=6.0.18.0
server.built=Jul 22 2008 02:00:36
You can even run the displayjar.scala with just a jar file, and it default to print out the Manifest file content.

Hope these scripts are useful to you.

Views: 52

Attachments:

Happy 10th year, JCertif!

Notes

Welcome to Codetown!

Codetown is a social network. It's got blogs, forums, groups, personal pages and more! You might think of Codetown as a funky camper van with lots of compartments for your stuff and a great multimedia system, too! Best of all, Codetown has room for all of your friends.

When you create a profile for yourself you get a personal page automatically. That's where you can be creative and do your own thing. People who want to get to know you will click on your name or picture and…
Continue

Created by Michael Levin Dec 18, 2008 at 6:56pm. Last updated by Michael Levin May 4, 2018.

Looking for Jobs or Staff?

Check out the Codetown Jobs group.

 

Enjoy the site? Support Codetown with your donation.



InfoQ Reading List

Presentation: The Ideal Micro-Frontends Platform

Luca Mezzalira shares a decision framework for micro-frontends, covering composition, routing, and communication. He explains how to structure "stream-aligned" teams and use a "tiger team" for foundational architecture. He also discusses the sociotechnical benefits of reducing external dependencies and shares how to use guardrails and discovery services to achieve 25+ deployments per day.

By Luca Mezzalira

Agoda’s API Agent Converts Any API to MCP with Zero Code and Deployments

Agoda engineers developed API Agent, enabling a single MCP server to access any internal REST or GraphQL API with zero code and zero deployments. The system reduces overhead from multiple APIs, supports AI-assisted queries, and uses in-memory SQL post-processing for safe, scalable data handling across internal services.

By Leela Kumili

Podcast: [Video Podcast] Building Resilient Event-Driven Microservices in Financial Systems with Muzeeb Mohammad

In this episode, Thomas Betts chats with Muzeeb Mohammad about building event-driven microservices for financial systems. The discussion covers some of the core principles and patterns for event-driven architectures, reasons for using these patterns, and some of the challenges related to finance and other highly-regulated industries.

By Muzeeb Mohammad

Google Explores Scaling Principles for Multi-agent Coordination

Google Research tried to answer the question of how to design agent systems for optimal performance by running a controlled evaluation of 180 agent configurations. From this, the team derived what they call the "first quantitative scaling principles for AI agent systems", showing that multi-agent coordination does not reliably improve results and can even reduce performance.

By Sergio De Simone

Article: Architecting Agentic MLOps: A Layered Protocol Strategy with A2A and MCP

In this article, the authors outline protocols for building extensible multi-agent MLOps systems. The core architecture deliberately decouples orchestration from execution, allowing teams to incrementally add capabilities via discovery and evolve operations from static pipelines toward intelligent, adaptive coordination.

By Shashank Kapoor, Sanjay Surendranath Girija, Lakshit Arora

© 2026   Created by Michael Levin.   Powered by

Badges  |  Report an Issue  |  Terms of Service